chrome-devtools-frontend 1.0.1651641 → 1.0.1654411

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 (96) hide show
  1. package/.agents/skills/fixing-skipped-tests/SKILL.md +32 -0
  2. package/.agents/skills/migrate-chromium-test/SKILL.md +144 -0
  3. package/docs/get_the_code.md +1 -2
  4. package/docs/ui_engineering.md +3 -1
  5. package/eslint.config.mjs +0 -5
  6. package/front_end/core/sdk/CPUThrottlingManager.ts +13 -8
  7. package/front_end/core/sdk/CSSMetadata.ts +23 -0
  8. package/front_end/core/sdk/CompilerSourceMappingContentProvider.ts +8 -4
  9. package/front_end/core/sdk/DOMModel.ts +4 -0
  10. package/front_end/core/sdk/EmulationModel.ts +4 -0
  11. package/front_end/core/sdk/ResourceTreeModel.ts +3 -2
  12. package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshot.ts +459 -74
  13. package/front_end/entrypoints/main/MainImpl.ts +0 -6
  14. package/front_end/foundation/Universe.ts +18 -0
  15. package/front_end/generated/InspectorBackendCommands.ts +7 -6
  16. package/front_end/generated/SupportedCSSProperties.js +208 -34
  17. package/front_end/generated/protocol.ts +64 -7
  18. package/front_end/models/ai_assistance/AiAgent2.ts +3 -3
  19. package/front_end/models/ai_assistance/AiConversation.ts +2 -1
  20. package/front_end/models/ai_assistance/README.md +5 -4
  21. package/front_end/models/ai_assistance/agents/ContextSelectionAgent.ts +1 -1
  22. package/front_end/models/ai_assistance/agents/PerformanceAgent.snapshot.txt +2 -2
  23. package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +11 -164
  24. package/front_end/models/ai_assistance/ai_assistance.ts +6 -2
  25. package/front_end/models/ai_assistance/contexts/PerformanceTraceContext.ts +295 -0
  26. package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.snapshot.txt +10 -10
  27. package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.ts +12 -11
  28. package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.snapshot.txt +6 -6
  29. package/front_end/models/ai_assistance/skills/accessibility.md +4 -2
  30. package/front_end/models/ai_assistance/tools/GetElementAccessibilityDetails.ts +142 -0
  31. package/front_end/models/ai_assistance/tools/GetStyles.ts +1 -1
  32. package/front_end/models/ai_assistance/tools/README.md +22 -2
  33. package/front_end/models/ai_assistance/tools/{ResolveLighthousePath.ts → ResolveDevtoolsNodePath.ts} +18 -17
  34. package/front_end/models/ai_assistance/tools/Tool.ts +7 -2
  35. package/front_end/models/ai_assistance/tools/ToolRegistry.ts +10 -8
  36. package/front_end/models/autofill_manager/AutofillManager.ts +7 -15
  37. package/front_end/models/bindings/NetworkProject.ts +4 -8
  38. package/front_end/models/breakpoints/BreakpointManager.ts +9 -9
  39. package/front_end/models/emulation/DeviceModeModel.ts +24 -0
  40. package/front_end/models/emulation/EmulatedDevices.ts +108 -0
  41. package/front_end/models/heap_snapshot/HeapSnapshotModel.ts +36 -0
  42. package/front_end/models/heap_snapshot/HeapSnapshotProxy.ts +8 -0
  43. package/front_end/models/issues_manager/IssuesManager.ts +10 -6
  44. package/front_end/models/javascript_metadata/JavaScriptMetadata.ts +4 -5
  45. package/front_end/models/live-metrics/LiveMetrics.ts +6 -6
  46. package/front_end/models/live-metrics/web-vitals-injected/spec/spec.ts +5 -5
  47. package/front_end/models/live-metrics/web-vitals-injected/web-vitals-injected.ts +3 -3
  48. package/front_end/models/logs/LogManager.ts +25 -10
  49. package/front_end/models/logs/NetworkLog.ts +24 -19
  50. package/front_end/models/persistence/AutomaticFileSystemWorkspaceBinding.ts +14 -5
  51. package/front_end/models/persistence/IsolatedFileSystem.ts +9 -11
  52. package/front_end/models/persistence/IsolatedFileSystemManager.ts +5 -3
  53. package/front_end/models/persistence/NetworkPersistenceManager.ts +73 -44
  54. package/front_end/models/persistence/PersistenceImpl.ts +4 -5
  55. package/front_end/models/trace/EntityMapper.ts +1 -1
  56. package/front_end/panels/ai_assistance/AiAssistancePanel.ts +9 -9
  57. package/front_end/panels/ai_assistance/ExportConversation.ts +4 -1
  58. package/front_end/panels/ai_assistance/components/ChatInput.ts +2 -2
  59. package/front_end/panels/application/IndexedDBViews.ts +38 -36
  60. package/front_end/panels/application/components/AdsView.ts +4 -0
  61. package/front_end/panels/autofill/AutofillView.ts +1 -1
  62. package/front_end/panels/autofill/autofill-meta.ts +3 -2
  63. package/front_end/panels/elements/AccessibilityTreeUtils.ts +26 -15
  64. package/front_end/panels/elements/AccessibilityTreeView.ts +12 -9
  65. package/front_end/panels/elements/ElementsTreeOutline.ts +5 -0
  66. package/front_end/panels/layer_viewer/LayerTreeOutline.ts +118 -68
  67. package/front_end/panels/layer_viewer/Layers3DView.ts +1 -1
  68. package/front_end/panels/layer_viewer/layerTreeOutline.css +20 -13
  69. package/front_end/panels/layers/LayersPanel.ts +1 -1
  70. package/front_end/panels/mobile_throttling/ThrottlingSettingsTab.ts +64 -17
  71. package/front_end/panels/mobile_throttling/throttlingSettingsTab.css +5 -0
  72. package/front_end/panels/network/LinkPreloadGenerator.ts +101 -0
  73. package/front_end/panels/network/NetworkLogView.ts +28 -0
  74. package/front_end/panels/network/network.ts +2 -0
  75. package/front_end/panels/profiler/HeapSnapshotView.ts +121 -33
  76. package/front_end/panels/profiler/ModuleUIStrings.ts +4 -0
  77. package/front_end/panels/sources/ScopeChainSidebarPane.ts +0 -12
  78. package/front_end/panels/timeline/TimelineHistoryManager.ts +38 -37
  79. package/front_end/panels/timeline/TimelinePanel.ts +32 -8
  80. package/front_end/panels/timeline/components/CPUThrottlingSelector.ts +7 -6
  81. package/front_end/panels/timeline/components/LiveMetricsView.ts +38 -38
  82. package/front_end/panels/timeline/components/MetricCard.ts +18 -18
  83. package/front_end/panels/timeline/components/liveMetricsView.css +6 -6
  84. package/front_end/panels/timeline/components/metricCard.css +4 -4
  85. package/front_end/panels/whats_new/ReleaseNoteText.ts +3 -3
  86. package/front_end/panels/whats_new/resources/WNDT.md +1 -1
  87. package/front_end/third_party/chromium/README.chromium +1 -1
  88. package/front_end/ui/legacy/InspectorDrawerView.ts +7 -5
  89. package/front_end/ui/legacy/ListWidget.ts +12 -0
  90. package/front_end/ui/legacy/SplitWidget.ts +12 -11
  91. package/front_end/ui/legacy/components/data_grid/DataGridElement.ts +23 -19
  92. package/front_end/ui/legacy/components/object_ui/CustomPreviewComponent.ts +8 -1
  93. package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +110 -17
  94. package/front_end/ui/legacy/treeoutline.css +1 -1
  95. package/front_end/ui/visual_logging/KnownContextValues.ts +1 -0
  96. package/package.json +4 -3
@@ -43,14 +43,12 @@ import * as Root from '../../core/root/root.js';
43
43
  import * as SDK from '../../core/sdk/sdk.js';
44
44
  import * as Foundation from '../../foundation/foundation.js';
45
45
  import * as AiAssistanceModel from '../../models/ai_assistance/ai_assistance.js';
46
- import * as AutofillManager from '../../models/autofill_manager/autofill_manager.js';
47
46
  import * as Badges from '../../models/badges/badges.js';
48
47
  import * as Bindings from '../../models/bindings/bindings.js';
49
48
  import * as Breakpoints from '../../models/breakpoints/breakpoints.js';
50
49
  import * as CrUXManager from '../../models/crux-manager/crux-manager.js';
51
50
  import * as IssuesManager from '../../models/issues_manager/issues_manager.js';
52
51
  import * as LiveMetrics from '../../models/live-metrics/live-metrics.js';
53
- import * as Logs from '../../models/logs/logs.js';
54
52
  import * as Persistence from '../../models/persistence/persistence.js';
55
53
  import * as ProjectSettings from '../../models/project_settings/project_settings.js';
56
54
  import * as Workspace from '../../models/workspace/workspace.js';
@@ -435,8 +433,6 @@ export class MainImpl {
435
433
  UI.ViewManager.ViewManager.instance({forceNew: true, universe: this.#universe});
436
434
 
437
435
  // These instances need to be created early so they don't miss any events about requests/issues/etc.
438
- Logs.NetworkLog.NetworkLog.instance();
439
- Logs.LogManager.LogManager.instance();
440
436
  IssuesManager.IssuesManager.IssuesManager.instance({
441
437
  forceNew: true,
442
438
  ensureFirst: true,
@@ -505,8 +501,6 @@ export class MainImpl {
505
501
  workspace: Workspace.Workspace.WorkspaceImpl.instance(),
506
502
  });
507
503
 
508
- AutofillManager.AutofillManager.AutofillManager.instance();
509
-
510
504
  LiveMetrics.LiveMetrics.instance();
511
505
  CrUXManager.CrUXManager.instance();
512
506
 
@@ -5,7 +5,9 @@
5
5
  import * as Common from '../core/common/common.js';
6
6
  import * as Root from '../core/root/root.js';
7
7
  import * as SDK from '../core/sdk/sdk.js';
8
+ import * as AutofillManager from '../models/autofill_manager/autofill_manager.js';
8
9
  import * as Bindings from '../models/bindings/bindings.js';
10
+ import * as Logs from '../models/logs/logs.js';
9
11
  import * as Workspace from '../models/workspace/workspace.js';
10
12
 
11
13
  export interface CreationOptions {
@@ -18,6 +20,7 @@ export class Universe {
18
20
  // static method, we can move it out of the `DevToolsContext` and store it
19
21
  // directly on the `Universe`.
20
22
  readonly context: Root.DevToolsContext.DevToolsContext;
23
+ readonly autofillManager: AutofillManager.AutofillManager.AutofillManager;
21
24
 
22
25
  constructor(options: CreationOptions) {
23
26
  const context = new Root.DevToolsContext.WritableDevToolsContext();
@@ -48,6 +51,9 @@ export class Universe {
48
51
  new SDK.PageResourceLoader.PageResourceLoader(targetManager, settings, multitargetNetworkManager, null);
49
52
  context.set(SDK.PageResourceLoader.PageResourceLoader, pageResourceLoader);
50
53
 
54
+ const cpuThrottlingManager = new SDK.CPUThrottlingManager.CPUThrottlingManager(settings, targetManager);
55
+ context.set(SDK.CPUThrottlingManager.CPUThrottlingManager, cpuThrottlingManager);
56
+
51
57
  const workspace = new Workspace.Workspace.WorkspaceImpl();
52
58
  context.set(Workspace.Workspace.WorkspaceImpl, workspace);
53
59
 
@@ -61,6 +67,18 @@ export class Universe {
61
67
  const debuggerWorkspaceBinding = new Bindings.DebuggerWorkspaceBinding.DebuggerWorkspaceBinding(
62
68
  resourceMapping, targetManager, ignoreListManager, workspace);
63
69
  context.set(Bindings.DebuggerWorkspaceBinding.DebuggerWorkspaceBinding, debuggerWorkspaceBinding);
70
+
71
+ const networkLog = new Logs.NetworkLog.NetworkLog(targetManager, settings);
72
+ context.set(Logs.NetworkLog.NetworkLog, networkLog);
73
+
74
+ const logManager = new Logs.LogManager.LogManager(targetManager, networkLog);
75
+ context.set(Logs.LogManager.LogManager, logManager);
76
+
77
+ this.autofillManager = new AutofillManager.AutofillManager.AutofillManager(targetManager, frameManager);
78
+ }
79
+
80
+ get cpuThrottlingManager(): SDK.CPUThrottlingManager.CPUThrottlingManager {
81
+ return this.context.get(SDK.CPUThrottlingManager.CPUThrottlingManager);
64
82
  }
65
83
 
66
84
  get pageResourceLoader(): SDK.PageResourceLoader.PageResourceLoader {
@@ -45,7 +45,8 @@ inspectorBackend.registerType("Accessibility.AXNode", [{"name": "nodeId", "type"
45
45
 
46
46
  // Ads.
47
47
  inspectorBackend.registerCommand("Ads.getAdMetrics", [], ["metrics"], "Retrieves ad metrics for the current page.");
48
- inspectorBackend.registerType("Ads.AdMetrics", [{"name": "viewportAdDensityByArea", "type": "number", "optional": false, "description": "The viewport ad density by area, represented as a percentage (an integer between 0 and 100).", "typeRef": null}, {"name": "averageViewportAdDensityByArea", "type": "number", "optional": false, "description": "The time-weighted average of the viewport ad density by area, measured across the duration of the page.", "typeRef": null}, {"name": "viewportAdCount", "type": "number", "optional": false, "description": "The number of ads currently visible within the viewport.", "typeRef": null}, {"name": "averageViewportAdCount", "type": "number", "optional": false, "description": "The time-weighted average of the viewport ad count, measured across the duration of the page.", "typeRef": null}, {"name": "totalAdCpuTime", "type": "number", "optional": false, "description": "The total ad CPU usage, in milliseconds.", "typeRef": null}, {"name": "totalAdNetworkBytes", "type": "number", "optional": false, "description": "The total ad network bytes.", "typeRef": null}]);
48
+ inspectorBackend.registerType("Ads.AdFrameData", [{"name": "frameId", "type": "string", "optional": false, "description": "The DevTools frame token.", "typeRef": "Page.FrameId"}, {"name": "initialOrigin", "type": "string", "optional": true, "description": "The initial origin of the frame. To minimize the payload size, this is only sent once per frame.", "typeRef": null}, {"name": "networkBytes", "type": "number", "optional": false, "description": "The network bytes of the frame.", "typeRef": null}, {"name": "cpuTime", "type": "number", "optional": false, "description": "The CPU time of the frame, in milliseconds.", "typeRef": null}]);
49
+ inspectorBackend.registerType("Ads.AdMetrics", [{"name": "viewportAdDensityByArea", "type": "number", "optional": false, "description": "The viewport ad density by area, represented as a percentage (an integer between 0 and 100).", "typeRef": null}, {"name": "averageViewportAdDensityByArea", "type": "number", "optional": false, "description": "The time-weighted average of the viewport ad density by area, measured across the duration of the page.", "typeRef": null}, {"name": "viewportAdCount", "type": "number", "optional": false, "description": "The number of ads currently visible within the viewport.", "typeRef": null}, {"name": "averageViewportAdCount", "type": "number", "optional": false, "description": "The time-weighted average of the viewport ad count, measured across the duration of the page.", "typeRef": null}, {"name": "totalAdCpuTime", "type": "number", "optional": false, "description": "The total ad CPU usage, in milliseconds.", "typeRef": null}, {"name": "totalAdNetworkBytes", "type": "number", "optional": false, "description": "The total ad network bytes.", "typeRef": null}, {"name": "updateAdFrames", "type": "array", "optional": false, "description": "The list of ad frames that have been updated since the last event.", "typeRef": "Ads.AdFrameData"}, {"name": "removeAdFrames", "type": "array", "optional": false, "description": "The list of ad frame IDs that have been removed since the last event.", "typeRef": "Page.FrameId"}]);
49
50
 
50
51
  // Animation.
51
52
  inspectorBackend.registerEnum("Animation.AnimationType", {CSSTransition: "CSSTransition", CSSAnimation: "CSSAnimation", WebAnimation: "WebAnimation"});
@@ -97,7 +98,7 @@ inspectorBackend.registerEnum("Audits.ElementAccessibilityIssueReason", {Disallo
97
98
  inspectorBackend.registerEnum("Audits.StyleSheetLoadingIssueReason", {LateImportRule: "LateImportRule", RequestFailed: "RequestFailed"});
98
99
  inspectorBackend.registerEnum("Audits.PropertyRuleIssueReason", {InvalidSyntax: "InvalidSyntax", InvalidInitialValue: "InvalidInitialValue", InvalidInherits: "InvalidInherits", InvalidName: "InvalidName"});
99
100
  inspectorBackend.registerEnum("Audits.UserReidentificationIssueType", {BlockedFrameNavigation: "BlockedFrameNavigation", BlockedSubresource: "BlockedSubresource", NoisedCanvasReadback: "NoisedCanvasReadback"});
100
- inspectorBackend.registerEnum("Audits.PermissionElementIssueType", {InvalidType: "InvalidType", FencedFrameDisallowed: "FencedFrameDisallowed", CspFrameAncestorsMissing: "CspFrameAncestorsMissing", PermissionsPolicyBlocked: "PermissionsPolicyBlocked", PaddingRightUnsupported: "PaddingRightUnsupported", PaddingBottomUnsupported: "PaddingBottomUnsupported", InsetBoxShadowUnsupported: "InsetBoxShadowUnsupported", RequestInProgress: "RequestInProgress", UntrustedEvent: "UntrustedEvent", RegistrationFailed: "RegistrationFailed", TypeNotSupported: "TypeNotSupported", InvalidTypeActivation: "InvalidTypeActivation", SecurityChecksFailed: "SecurityChecksFailed", ActivationDisabled: "ActivationDisabled", GeolocationDeprecated: "GeolocationDeprecated", InvalidDisplayStyle: "InvalidDisplayStyle", NonOpaqueColor: "NonOpaqueColor", LowContrast: "LowContrast", FontSizeTooSmall: "FontSizeTooSmall", FontSizeTooLarge: "FontSizeTooLarge", InvalidSizeValue: "InvalidSizeValue"});
101
+ inspectorBackend.registerEnum("Audits.PermissionElementIssueType", {InvalidType: "InvalidType", FencedFrameDisallowed: "FencedFrameDisallowed", CspFrameAncestorsMissing: "CspFrameAncestorsMissing", PermissionsPolicyBlocked: "PermissionsPolicyBlocked", PaddingRightUnsupported: "PaddingRightUnsupported", PaddingBottomUnsupported: "PaddingBottomUnsupported", InsetBoxShadowUnsupported: "InsetBoxShadowUnsupported", RequestInProgress: "RequestInProgress", UntrustedEvent: "UntrustedEvent", RegistrationFailed: "RegistrationFailed", TypeNotSupported: "TypeNotSupported", InvalidTypeActivation: "InvalidTypeActivation", SecurityChecksFailed: "SecurityChecksFailed", ActivationDisabled: "ActivationDisabled", GeolocationDeprecated: "GeolocationDeprecated", InvalidDisplayStyle: "InvalidDisplayStyle", NonOpaqueColor: "NonOpaqueColor", LowContrast: "LowContrast", FontSizeTooSmall: "FontSizeTooSmall", FontSizeTooLarge: "FontSizeTooLarge", InvalidSizeValue: "InvalidSizeValue", NonSecureContext: "NonSecureContext", MissingTransientUserActivation: "MissingTransientUserActivation"});
101
102
  inspectorBackend.registerEnum("Audits.InspectorIssueCode", {CookieIssue: "CookieIssue", MixedContentIssue: "MixedContentIssue", BlockedByResponseIssue: "BlockedByResponseIssue", HeavyAdIssue: "HeavyAdIssue", ContentSecurityPolicyIssue: "ContentSecurityPolicyIssue", SharedArrayBufferIssue: "SharedArrayBufferIssue", CorsIssue: "CorsIssue", AttributionReportingIssue: "AttributionReportingIssue", QuirksModeIssue: "QuirksModeIssue", PartitioningBlobURLIssue: "PartitioningBlobURLIssue", NavigatorUserAgentIssue: "NavigatorUserAgentIssue", GenericIssue: "GenericIssue", DeprecationIssue: "DeprecationIssue", ClientHintIssue: "ClientHintIssue", FederatedAuthRequestIssue: "FederatedAuthRequestIssue", BounceTrackingIssue: "BounceTrackingIssue", CookieDeprecationMetadataIssue: "CookieDeprecationMetadataIssue", StylesheetLoadingIssue: "StylesheetLoadingIssue", FederatedAuthUserInfoRequestIssue: "FederatedAuthUserInfoRequestIssue", PropertyRuleIssue: "PropertyRuleIssue", SharedDictionaryIssue: "SharedDictionaryIssue", ElementAccessibilityIssue: "ElementAccessibilityIssue", SRIMessageSignatureIssue: "SRIMessageSignatureIssue", UnencodedDigestIssue: "UnencodedDigestIssue", ConnectionAllowlistIssue: "ConnectionAllowlistIssue", UserReidentificationIssue: "UserReidentificationIssue", PermissionElementIssue: "PermissionElementIssue", PerformanceIssue: "PerformanceIssue", SelectivePermissionsInterventionIssue: "SelectivePermissionsInterventionIssue", EmailVerificationRequestIssue: "EmailVerificationRequestIssue"});
102
103
  inspectorBackend.registerEvent("Audits.issueAdded", ["issue"]);
103
104
  inspectorBackend.registerEnum("Audits.GetEncodedResponseRequestEncoding", {Webp: "webp", Jpeg: "jpeg", Png: "png"});
@@ -357,7 +358,7 @@ inspectorBackend.registerCommand("CrashReportContext.getEntries", [], ["entries"
357
358
  inspectorBackend.registerType("CrashReportContext.CrashReportContextEntry", [{"name": "key", "type": "string", "optional": false, "description": "", "typeRef": null}, {"name": "value", "type": "string", "optional": false, "description": "", "typeRef": null}, {"name": "frameId", "type": "string", "optional": false, "description": "The ID of the frame where the key-value pair was set.", "typeRef": "Page.FrameId"}]);
358
359
 
359
360
  // DOM.
360
- inspectorBackend.registerEnum("DOM.PseudoType", {FirstLine: "first-line", FirstLetter: "first-letter", Checkmark: "checkmark", Before: "before", After: "after", ExpandIcon: "expand-icon", PickerIcon: "picker-icon", InterestButton: "interest-button", Marker: "marker", Backdrop: "backdrop", Column: "column", Selection: "selection", SearchText: "search-text", TargetText: "target-text", SpellingError: "spelling-error", GrammarError: "grammar-error", Highlight: "highlight", FirstLineInherited: "first-line-inherited", ScrollMarker: "scroll-marker", ScrollMarkerGroup: "scroll-marker-group", ScrollButton: "scroll-button", Scrollbar: "scrollbar", ScrollbarThumb: "scrollbar-thumb", ScrollbarButton: "scrollbar-button", ScrollbarTrack: "scrollbar-track", ScrollbarTrackPiece: "scrollbar-track-piece", ScrollbarCorner: "scrollbar-corner", Resizer: "resizer", InputListButton: "input-list-button", ViewTransition: "view-transition", ViewTransitionGroup: "view-transition-group", ViewTransitionImagePair: "view-transition-image-pair", ViewTransitionGroupChildren: "view-transition-group-children", ViewTransitionOld: "view-transition-old", ViewTransitionNew: "view-transition-new", Placeholder: "placeholder", FileSelectorButton: "file-selector-button", DetailsContent: "details-content", Picker: "picker", PermissionIcon: "permission-icon", OverscrollAreaParent: "overscroll-area-parent", Skeleton: "skeleton"});
361
+ inspectorBackend.registerEnum("DOM.PseudoType", {FirstLine: "first-line", FirstLetter: "first-letter", Checkmark: "checkmark", Before: "before", After: "after", ExpandIcon: "expand-icon", PickerIcon: "picker-icon", InterestButton: "interest-button", Marker: "marker", Backdrop: "backdrop", Column: "column", Selection: "selection", SearchText: "search-text", TargetText: "target-text", SpellingError: "spelling-error", GrammarError: "grammar-error", Highlight: "highlight", FirstLineInherited: "first-line-inherited", ScrollMarker: "scroll-marker", ScrollMarkerGroup: "scroll-marker-group", ScrollButton: "scroll-button", Scrollbar: "scrollbar", ScrollbarThumb: "scrollbar-thumb", ScrollbarButton: "scrollbar-button", ScrollbarTrack: "scrollbar-track", ScrollbarTrackPiece: "scrollbar-track-piece", ScrollbarCorner: "scrollbar-corner", Resizer: "resizer", InputListButton: "input-list-button", ViewTransition: "view-transition", ViewTransitionGroup: "view-transition-group", ViewTransitionImagePair: "view-transition-image-pair", ViewTransitionGroupChildren: "view-transition-group-children", ViewTransitionOld: "view-transition-old", ViewTransitionNew: "view-transition-new", Placeholder: "placeholder", FileSelectorButton: "file-selector-button", DetailsContent: "details-content", Picker: "picker", SelectListbox: "select-listbox", PermissionIcon: "permission-icon", OverscrollAreaParent: "overscroll-area-parent", OverscrollBackdrop: "overscroll-backdrop", Skeleton: "skeleton"});
361
362
  inspectorBackend.registerEnum("DOM.ShadowRootType", {UserAgent: "user-agent", Open: "open", Closed: "closed"});
362
363
  inspectorBackend.registerEnum("DOM.CompatibilityMode", {QuirksMode: "QuirksMode", LimitedQuirksMode: "LimitedQuirksMode", NoQuirksMode: "NoQuirksMode"});
363
364
  inspectorBackend.registerEnum("DOM.PhysicalAxes", {Horizontal: "Horizontal", Vertical: "Vertical", Both: "Both"});
@@ -1098,7 +1099,7 @@ inspectorBackend.registerCommand("Page.captureSnapshot", [{"name": "format", "ty
1098
1099
  inspectorBackend.registerCommand("Page.clearDeviceMetricsOverride", [], [], "Clears the overridden device metrics.");
1099
1100
  inspectorBackend.registerCommand("Page.clearDeviceOrientationOverride", [], [], "Clears the overridden Device Orientation.");
1100
1101
  inspectorBackend.registerCommand("Page.clearGeolocationOverride", [], [], "Clears the overridden Geolocation Position and Error.");
1101
- inspectorBackend.registerCommand("Page.createIsolatedWorld", [{"name": "frameId", "type": "string", "optional": false, "description": "Id of the frame in which the isolated world should be created.", "typeRef": "Page.FrameId"}, {"name": "worldName", "type": "string", "optional": true, "description": "An optional name which is reported in the Execution Context.", "typeRef": null}, {"name": "grantUniveralAccess", "type": "boolean", "optional": true, "description": "Whether or not universal access should be granted to the isolated world. This is a powerful option, use with caution.", "typeRef": null}], ["executionContextId"], "Creates an isolated world for the given frame.");
1102
+ inspectorBackend.registerCommand("Page.createIsolatedWorld", [{"name": "frameId", "type": "string", "optional": false, "description": "Id of the frame in which the isolated world should be created.", "typeRef": "Page.FrameId"}, {"name": "worldName", "type": "string", "optional": true, "description": "An optional name which is reported in the Execution Context.", "typeRef": null}, {"name": "grantUniveralAccess", "type": "boolean", "optional": true, "description": "Whether or not universal access should be granted to the isolated world. This is a powerful option, use with caution.", "typeRef": null}, {"name": "contentSecurityPolicy", "type": "string", "optional": true, "description": "An optional content security policy to set for the isolated world. If omitted, any existing CSP for the world will be cleared. Note that clearing or updating the CSP does not immediately affect the active context in the same document because LocalDOMWindow caches the ContentSecurityPolicy object. The change takes effect on subsequent navigations when a new window context is created.", "typeRef": null}], ["executionContextId"], "Creates an isolated world for the given frame.");
1102
1103
  inspectorBackend.registerCommand("Page.deleteCookie", [{"name": "cookieName", "type": "string", "optional": false, "description": "Name of the cookie to remove.", "typeRef": null}, {"name": "url", "type": "string", "optional": false, "description": "URL to match cooke domain and path.", "typeRef": null}], [], "Deletes browser cookie with given name, domain and path.");
1103
1104
  inspectorBackend.registerCommand("Page.disable", [], [], "Disables page domain notifications.");
1104
1105
  inspectorBackend.registerCommand("Page.enable", [{"name": "enableFileChooserOpenedEvent", "type": "boolean", "optional": true, "description": "If true, the `Page.fileChooserOpened` event will be emitted regardless of the state set by `Page.setInterceptFileChooserDialog` command (default: false).", "typeRef": null}], [], "Enables page domain notifications.");
@@ -1407,7 +1408,7 @@ inspectorBackend.registerCommand("Target.closeTarget", [{"name": "targetId", "ty
1407
1408
  inspectorBackend.registerCommand("Target.exposeDevToolsProtocol", [{"name": "targetId", "type": "string", "optional": false, "description": "", "typeRef": "Target.TargetID"}, {"name": "bindingName", "type": "string", "optional": true, "description": "Binding name, 'cdp' if not specified.", "typeRef": null}, {"name": "inheritPermissions", "type": "boolean", "optional": true, "description": "If true, inherits the current root session's permissions (default: false).", "typeRef": null}], [], "Inject object to the target's main frame that provides a communication channel with browser target. Injected object will be available as `window[bindingName]`. The object has the following API: - `binding.send(json)` - a method to send messages over the remote debugging protocol - `binding.onmessage = json => handleMessage(json)` - a callback that will be called for the protocol notifications and command responses.");
1408
1409
  inspectorBackend.registerCommand("Target.createBrowserContext", [{"name": "disposeOnDetach", "type": "boolean", "optional": true, "description": "If specified, disposes this context when debugging session disconnects.", "typeRef": null}, {"name": "proxyServer", "type": "string", "optional": true, "description": "Proxy server, similar to the one passed to --proxy-server", "typeRef": null}, {"name": "proxyBypassList", "type": "string", "optional": true, "description": "Proxy bypass list, similar to the one passed to --proxy-bypass-list", "typeRef": null}, {"name": "originsWithUniversalNetworkAccess", "type": "array", "optional": true, "description": "An optional list of origins to grant unlimited cross-origin access to. Parts of the URL other than those constituting origin are ignored.", "typeRef": "string"}], ["browserContextId"], "Creates a new empty BrowserContext. Similar to an incognito profile but you can have more than one.");
1409
1410
  inspectorBackend.registerCommand("Target.getBrowserContexts", [], ["browserContextIds", "defaultBrowserContextId"], "Returns all browser contexts created with `Target.createBrowserContext` method.");
1410
- inspectorBackend.registerCommand("Target.createTarget", [{"name": "url", "type": "string", "optional": false, "description": "The initial URL the page will be navigated to. An empty string indicates about:blank.", "typeRef": null}, {"name": "left", "type": "number", "optional": true, "description": "Frame left origin in DIP (requires newWindow to be true or headless shell).", "typeRef": null}, {"name": "top", "type": "number", "optional": true, "description": "Frame top origin in DIP (requires newWindow to be true or headless shell).", "typeRef": null}, {"name": "width", "type": "number", "optional": true, "description": "Frame width in DIP (requires newWindow to be true or headless shell).", "typeRef": null}, {"name": "height", "type": "number", "optional": true, "description": "Frame height in DIP (requires newWindow to be true or headless shell).", "typeRef": null}, {"name": "windowState", "type": "string", "optional": true, "description": "Frame window state (requires newWindow to be true or headless shell). Default is normal.", "typeRef": "Target.WindowState"}, {"name": "browserContextId", "type": "string", "optional": true, "description": "The browser context to create the page in.", "typeRef": "Browser.BrowserContextID"}, {"name": "enableBeginFrameControl", "type": "boolean", "optional": true, "description": "Whether BeginFrames for this target will be controlled via DevTools (headless shell only, not supported on MacOS yet, false by default).", "typeRef": null}, {"name": "newWindow", "type": "boolean", "optional": true, "description": "Whether to create a new Window or Tab (false by default, not supported by headless shell).", "typeRef": null}, {"name": "background", "type": "boolean", "optional": true, "description": "Whether to create the target in background or foreground (false by default, not supported by headless shell).", "typeRef": null}, {"name": "forTab", "type": "boolean", "optional": true, "description": "Whether to create the target of type \\\"tab\\\".", "typeRef": null}, {"name": "hidden", "type": "boolean", "optional": true, "description": "Whether to create a hidden target. The hidden target is observable via protocol, but not present in the tab UI strip. Cannot be created with `forTab: true`, `newWindow: true` or `background: false`. The life-time of the tab is limited to the life-time of the session.", "typeRef": null}, {"name": "focus", "type": "boolean", "optional": true, "description": "If specified, the option is used to determine if the new target should be focused or not. By default, the focus behavior depends on the value of the background field. For example, background=false and focus=false will result in the target tab being opened but the browser window remain unchanged (if it was in the background, it will remain in the background) and background=false with focus=undefined will result in the window being focused. Using background: true and focus: true is not supported and will result in an error.", "typeRef": null}], ["targetId"], "Creates a new page.");
1411
+ inspectorBackend.registerCommand("Target.createTarget", [{"name": "url", "type": "string", "optional": false, "description": "The initial URL the page will be navigated to. An empty string indicates about:blank.", "typeRef": null}, {"name": "left", "type": "number", "optional": true, "description": "Frame left origin in DIP (requires newWindow to be true or headless shell).", "typeRef": null}, {"name": "top", "type": "number", "optional": true, "description": "Frame top origin in DIP (requires newWindow to be true or headless shell).", "typeRef": null}, {"name": "width", "type": "number", "optional": true, "description": "Frame width in DIP (requires newWindow to be true or headless shell).", "typeRef": null}, {"name": "height", "type": "number", "optional": true, "description": "Frame height in DIP (requires newWindow to be true or headless shell).", "typeRef": null}, {"name": "windowState", "type": "string", "optional": true, "description": "Frame window state (requires newWindow to be true or headless shell). Default is normal.", "typeRef": "Target.WindowState"}, {"name": "browserContextId", "type": "string", "optional": true, "description": "The browser context to create the page in.", "typeRef": "Browser.BrowserContextID"}, {"name": "enableBeginFrameControl", "type": "boolean", "optional": true, "description": "Whether BeginFrames for this target will be controlled via DevTools (headless shell only, not supported on MacOS yet, false by default).", "typeRef": null}, {"name": "newWindow", "type": "boolean", "optional": true, "description": "Whether to create a new Window or Tab (false by default, not supported by headless shell).", "typeRef": null}, {"name": "background", "type": "boolean", "optional": true, "description": "Whether to create the target in background or foreground (false by default, not supported by headless shell).", "typeRef": null}, {"name": "forTab", "type": "boolean", "optional": true, "description": "Whether to create the target of type \\\"tab\\\".", "typeRef": null}, {"name": "hidden", "type": "boolean", "optional": true, "description": "Whether to create a hidden target. The hidden target is observable via protocol, but not present in the tab UI strip. Cannot be created with `forTab: true`, `newWindow: true` or `background: false`. The life-time of the tab is limited to the life-time of the session.", "typeRef": null}, {"name": "focus", "type": "boolean", "optional": true, "description": "If specified, determines whether the new target should be focused. By default, the focus behavior depends on the `background` parameter: - If `background` is false (default) and `focus` is omitted, the new target is focused and the browser window is brought to the foreground. - If `background` is false and `focus` is false, the target is opened but the browser window's focus remains unchanged (e.g., if the window was in the background, it stays there). - If `background` is true, setting `focus` to true is not supported and will result in an error.", "typeRef": null}], ["targetId"], "Creates a new page.");
1411
1412
  inspectorBackend.registerCommand("Target.detachFromTarget", [{"name": "sessionId", "type": "string", "optional": true, "description": "Session to detach.", "typeRef": "Target.SessionID"}, {"name": "targetId", "type": "string", "optional": true, "description": "Deprecated.", "typeRef": "Target.TargetID"}], [], "Detaches session with given id.");
1412
1413
  inspectorBackend.registerCommand("Target.disposeBrowserContext", [{"name": "browserContextId", "type": "string", "optional": false, "description": "", "typeRef": "Browser.BrowserContextID"}], [], "Deletes a BrowserContext. All the belonging pages will be closed without calling their beforeunload hooks.");
1413
1414
  inspectorBackend.registerCommand("Target.getTargetInfo", [{"name": "targetId", "type": "string", "optional": true, "description": "", "typeRef": "Target.TargetID"}], ["targetInfo"], "Returns information about a target.");
@@ -1444,7 +1445,7 @@ inspectorBackend.registerCommand("Tracing.getTrackEventDescriptor", [], ["descri
1444
1445
  inspectorBackend.registerCommand("Tracing.recordClockSyncMarker", [{"name": "syncId", "type": "string", "optional": false, "description": "The ID of this clock sync marker", "typeRef": null}], [], "Record a clock sync marker in the trace.");
1445
1446
  inspectorBackend.registerCommand("Tracing.requestMemoryDump", [{"name": "deterministic", "type": "boolean", "optional": true, "description": "Enables more deterministic results by forcing garbage collection", "typeRef": null}, {"name": "levelOfDetail", "type": "string", "optional": true, "description": "Specifies level of details in memory dump. Defaults to \\\"detailed\\\".", "typeRef": "Tracing.MemoryDumpLevelOfDetail"}], ["dumpGuid", "success"], "Request a global memory dump.");
1446
1447
  inspectorBackend.registerEnum("Tracing.StartRequestTransferMode", {ReportEvents: "ReportEvents", ReturnAsStream: "ReturnAsStream"});
1447
- inspectorBackend.registerCommand("Tracing.start", [{"name": "categories", "type": "string", "optional": true, "description": "Category/tag filter", "typeRef": null}, {"name": "options", "type": "string", "optional": true, "description": "Tracing options", "typeRef": null}, {"name": "bufferUsageReportingInterval", "type": "number", "optional": true, "description": "If set, the agent will issue bufferUsage events at this interval, specified in milliseconds", "typeRef": null}, {"name": "transferMode", "type": "string", "optional": true, "description": "Whether to report trace events as series of dataCollected events or to save trace to a stream (defaults to `ReportEvents`).", "typeRef": "Tracing.StartRequestTransferMode"}, {"name": "streamFormat", "type": "string", "optional": true, "description": "Trace data format to use. This only applies when using `ReturnAsStream` transfer mode (defaults to `json`).", "typeRef": "Tracing.StreamFormat"}, {"name": "streamCompression", "type": "string", "optional": true, "description": "Compression format to use. This only applies when using `ReturnAsStream` transfer mode (defaults to `none`)", "typeRef": "Tracing.StreamCompression"}, {"name": "traceConfig", "type": "object", "optional": true, "description": "", "typeRef": "Tracing.TraceConfig"}, {"name": "perfettoConfig", "type": "string", "optional": true, "description": "Base64-encoded serialized perfetto.protos.TraceConfig protobuf message When specified, the parameters `categories`, `options`, `traceConfig` are ignored.", "typeRef": null}, {"name": "tracingBackend", "type": "string", "optional": true, "description": "Backend type (defaults to `auto`)", "typeRef": "Tracing.TracingBackend"}], [], "Start trace events collection.");
1448
+ inspectorBackend.registerCommand("Tracing.start", [{"name": "categories", "type": "string", "optional": true, "description": "Category/tag filter", "typeRef": null}, {"name": "options", "type": "string", "optional": true, "description": "Tracing options", "typeRef": null}, {"name": "bufferUsageReportingInterval", "type": "number", "optional": true, "description": "If set, the agent will issue bufferUsage events at this interval, specified in milliseconds", "typeRef": null}, {"name": "transferMode", "type": "string", "optional": true, "description": "Whether to report trace events as series of dataCollected events or to save trace to a stream (defaults to `ReportEvents`).", "typeRef": "Tracing.StartRequestTransferMode"}, {"name": "streamFormat", "type": "string", "optional": true, "description": "Trace data format to use. This only applies when using `ReturnAsStream` transfer mode (defaults to `json`).", "typeRef": "Tracing.StreamFormat"}, {"name": "streamCompression", "type": "string", "optional": true, "description": "Compression format to use. This only applies when using `ReturnAsStream` transfer mode (defaults to `none`)", "typeRef": "Tracing.StreamCompression"}, {"name": "traceConfig", "type": "object", "optional": true, "description": "", "typeRef": "Tracing.TraceConfig"}, {"name": "perfettoConfig", "type": "string", "optional": true, "description": "Base64-encoded serialized perfetto.protos.TraceConfig protobuf message When specified, the parameters `categories`, `options`, `traceConfig` are ignored.", "typeRef": null}, {"name": "tracingBackend", "type": "string", "optional": true, "description": "Backend type (defaults to `auto`)", "typeRef": "Tracing.TracingBackend"}, {"name": "screenshotMaxSize", "type": "number", "optional": true, "description": "Maximum width and height (in pixels) of each captured screenshot. Only used when the `disabled-by-default-devtools.screenshot` category is enabled. Defaults to 500. The combined memory footprint of screenshots (`screenshotMaxSize` * `screenshotMaxSize` * 4 * `screenshotMaxCount`) is clamped to the existing per-session budget.", "typeRef": null}, {"name": "screenshotMaxCount", "type": "number", "optional": true, "description": "Maximum number of screenshots captured during a single tracing session. Only used when the `disabled-by-default-devtools.screenshot` category is enabled. Defaults to 450. Clamped together with `screenshotMaxSize` to stay within the per-session screenshot memory budget.", "typeRef": null}], [], "Start trace events collection.");
1448
1449
  inspectorBackend.registerType("Tracing.TraceConfig", [{"name": "recordMode", "type": "string", "optional": true, "description": "Controls how the trace buffer stores data. The default is `recordUntilFull`.", "typeRef": null}, {"name": "traceBufferSizeInKb", "type": "number", "optional": true, "description": "Size of the trace buffer in kilobytes. If not specified or zero is passed, a default value of 200 MB would be used.", "typeRef": null}, {"name": "enableSampling", "type": "boolean", "optional": true, "description": "Turns on JavaScript stack sampling.", "typeRef": null}, {"name": "enableSystrace", "type": "boolean", "optional": true, "description": "Turns on system tracing.", "typeRef": null}, {"name": "enableArgumentFilter", "type": "boolean", "optional": true, "description": "Turns on argument filter.", "typeRef": null}, {"name": "includedCategories", "type": "array", "optional": true, "description": "Included category filters.", "typeRef": "string"}, {"name": "excludedCategories", "type": "array", "optional": true, "description": "Excluded category filters.", "typeRef": "string"}, {"name": "syntheticDelays", "type": "array", "optional": true, "description": "Configuration to synthesize the delays in tracing.", "typeRef": "string"}, {"name": "memoryDumpConfig", "type": "object", "optional": true, "description": "Configuration for memory dump triggers. Used only when \\\"memory-infra\\\" category is enabled.", "typeRef": "Tracing.MemoryDumpConfig"}]);
1449
1450
 
1450
1451
  // WebAudio.