chrome-devtools-frontend 1.0.1376716 → 1.0.1386602
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.stylelintrc.json +2 -1
- package/config/gni/devtools_grd_files.gni +40 -11
- package/config/gni/devtools_image_files.gni +4 -0
- package/docs/README.md +4 -0
- package/docs/contributing/issues.md +13 -10
- package/docs/get_the_code.md +4 -1
- package/docs/policy/README.md +6 -0
- package/docs/policy/slow-close.md +52 -0
- package/docs/styleguide/ux/README.md +1 -0
- package/docs/styleguide/ux/numbers.md +106 -0
- package/front_end/Images/src/animation.svg +3 -0
- package/front_end/Images/src/brush-2.svg +3 -0
- package/front_end/Images/src/cookie_off.svg +3 -0
- package/front_end/Images/src/domain.svg +3 -0
- package/front_end/core/common/Color.ts +3 -3
- package/front_end/core/common/SettingRegistration.ts +8 -1
- package/front_end/core/host/AidaClient.ts +4 -3
- package/front_end/core/host/InspectorFrontendHost.ts +4 -0
- package/front_end/core/host/InspectorFrontendHostAPI.ts +0 -1
- package/front_end/core/host/UserMetrics.ts +0 -8
- package/front_end/core/i18n/ByteUtilities.test.ts +34 -0
- package/front_end/core/i18n/ByteUtilities.ts +65 -0
- package/front_end/core/i18n/NumberFormatter.ts +75 -0
- package/front_end/core/i18n/i18n.ts +4 -0
- package/front_end/core/i18n/locales/af.json +1031 -887
- package/front_end/core/i18n/locales/am.json +1036 -892
- package/front_end/core/i18n/locales/ar.json +1039 -895
- package/front_end/core/i18n/locales/as.json +1032 -888
- package/front_end/core/i18n/locales/az.json +1034 -890
- package/front_end/core/i18n/locales/be.json +1031 -887
- package/front_end/core/i18n/locales/bg.json +1031 -887
- package/front_end/core/i18n/locales/bn.json +1033 -889
- package/front_end/core/i18n/locales/bs.json +1036 -892
- package/front_end/core/i18n/locales/ca.json +1031 -887
- package/front_end/core/i18n/locales/cs.json +1030 -886
- package/front_end/core/i18n/locales/cy.json +1032 -888
- package/front_end/core/i18n/locales/da.json +1031 -887
- package/front_end/core/i18n/locales/de.json +1033 -889
- package/front_end/core/i18n/locales/el.json +1031 -887
- package/front_end/core/i18n/locales/en-GB.json +1033 -889
- package/front_end/core/i18n/locales/es-419.json +1029 -885
- package/front_end/core/i18n/locales/es.json +1032 -888
- package/front_end/core/i18n/locales/et.json +1033 -889
- package/front_end/core/i18n/locales/eu.json +1031 -887
- package/front_end/core/i18n/locales/fa.json +1035 -891
- package/front_end/core/i18n/locales/fi.json +1035 -891
- package/front_end/core/i18n/locales/fil.json +1034 -890
- package/front_end/core/i18n/locales/fr-CA.json +1031 -887
- package/front_end/core/i18n/locales/fr.json +1049 -905
- package/front_end/core/i18n/locales/gl.json +1032 -888
- package/front_end/core/i18n/locales/gu.json +1035 -891
- package/front_end/core/i18n/locales/he.json +1031 -887
- package/front_end/core/i18n/locales/hi.json +1034 -890
- package/front_end/core/i18n/locales/hr.json +1031 -887
- package/front_end/core/i18n/locales/hu.json +1033 -889
- package/front_end/core/i18n/locales/hy.json +1046 -902
- package/front_end/core/i18n/locales/id.json +1023 -879
- package/front_end/core/i18n/locales/is.json +1032 -888
- package/front_end/core/i18n/locales/it.json +1031 -887
- package/front_end/core/i18n/locales/ja.json +1042 -898
- package/front_end/core/i18n/locales/ka.json +1034 -890
- package/front_end/core/i18n/locales/kk.json +1035 -891
- package/front_end/core/i18n/locales/km.json +1035 -891
- package/front_end/core/i18n/locales/kn.json +1036 -892
- package/front_end/core/i18n/locales/ko.json +1031 -887
- package/front_end/core/i18n/locales/ky.json +1032 -888
- package/front_end/core/i18n/locales/lo.json +1030 -886
- package/front_end/core/i18n/locales/lt.json +1032 -888
- package/front_end/core/i18n/locales/lv.json +1032 -888
- package/front_end/core/i18n/locales/mk.json +1032 -888
- package/front_end/core/i18n/locales/ml.json +1033 -889
- package/front_end/core/i18n/locales/mn.json +1034 -890
- package/front_end/core/i18n/locales/mr.json +1035 -891
- package/front_end/core/i18n/locales/ms.json +1033 -889
- package/front_end/core/i18n/locales/my.json +1033 -889
- package/front_end/core/i18n/locales/ne.json +1036 -892
- package/front_end/core/i18n/locales/nl.json +1033 -889
- package/front_end/core/i18n/locales/no.json +1036 -892
- package/front_end/core/i18n/locales/or.json +1043 -899
- package/front_end/core/i18n/locales/pa.json +1030 -886
- package/front_end/core/i18n/locales/pl.json +1032 -888
- package/front_end/core/i18n/locales/pt-PT.json +1033 -889
- package/front_end/core/i18n/locales/pt.json +1033 -889
- package/front_end/core/i18n/locales/ro.json +1029 -885
- package/front_end/core/i18n/locales/ru.json +1026 -882
- package/front_end/core/i18n/locales/si.json +1031 -887
- package/front_end/core/i18n/locales/sk.json +1033 -889
- package/front_end/core/i18n/locales/sl.json +1031 -887
- package/front_end/core/i18n/locales/sq.json +1061 -917
- package/front_end/core/i18n/locales/sr-Latn.json +1033 -889
- package/front_end/core/i18n/locales/sr.json +1033 -889
- package/front_end/core/i18n/locales/sv.json +1031 -887
- package/front_end/core/i18n/locales/sw.json +1033 -889
- package/front_end/core/i18n/locales/ta.json +1058 -914
- package/front_end/core/i18n/locales/te.json +1037 -893
- package/front_end/core/i18n/locales/th.json +1032 -888
- package/front_end/core/i18n/locales/tr.json +1031 -887
- package/front_end/core/i18n/locales/uk.json +1030 -886
- package/front_end/core/i18n/locales/ur.json +1031 -887
- package/front_end/core/i18n/locales/uz.json +1023 -879
- package/front_end/core/i18n/locales/vi.json +1032 -888
- package/front_end/core/i18n/locales/zh-HK.json +1032 -888
- package/front_end/core/i18n/locales/zh-TW.json +1032 -888
- package/front_end/core/i18n/locales/zh.json +1033 -889
- package/front_end/core/i18n/locales/zu.json +1032 -888
- package/front_end/core/i18n/time-utilities.test.ts +20 -2
- package/front_end/core/i18n/time-utilities.ts +125 -86
- package/front_end/core/platform/NumberUtilities.test.ts +3 -26
- package/front_end/core/platform/NumberUtilities.ts +0 -20
- package/front_end/core/root/Runtime.ts +6 -4
- package/front_end/core/sdk/CPUThrottlingManager.ts +4 -0
- package/front_end/core/sdk/CSSContainerQuery.test.ts +10 -16
- package/front_end/core/sdk/CSSContainerQuery.ts +3 -15
- package/front_end/core/sdk/CSSMatchedStyles.test.ts +4 -0
- package/front_end/core/sdk/CSSMatchedStyles.ts +5 -5
- package/front_end/core/sdk/CSSModel.ts +18 -0
- package/front_end/core/sdk/CSSPropertyParser.test.ts +16 -1
- package/front_end/core/sdk/CSSPropertyParser.ts +2 -2
- package/front_end/core/sdk/NetworkManager.test.ts +50 -0
- package/front_end/core/sdk/NetworkManager.ts +6 -4
- package/front_end/core/sdk/SourceMap.test.ts +5 -5
- package/front_end/core/sdk/SourceMapScopeChainEntry.test.ts +7 -2
- package/front_end/core/sdk/SourceMapScopeChainEntry.ts +2 -2
- package/front_end/core/sdk/SourceMapScopes.test.ts +112 -45
- package/front_end/core/sdk/SourceMapScopes.ts +39 -14
- package/front_end/core/sdk/SourceMapScopesInfo.test.ts +51 -50
- package/front_end/core/sdk/SourceMapScopesInfo.ts +1 -1
- package/front_end/core/sdk/sdk-meta.ts +35 -0
- package/front_end/devtools_compatibility.js +0 -1
- package/front_end/entrypoints/devtools_app/devtools_app.ts +1 -0
- package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshot.ts +3 -3
- package/front_end/entrypoints/inspector_main/renderingOptions.css +1 -1
- package/front_end/entrypoints/main/ExecutionContextSelector.test.ts +13 -3
- package/front_end/entrypoints/main/ExecutionContextSelector.ts +23 -1
- package/front_end/entrypoints/main/MainImpl.ts +0 -5
- package/front_end/generated/ARIAProperties.js +4 -0
- package/front_end/generated/Deprecation.ts +0 -15
- package/front_end/generated/InspectorBackendCommands.js +9 -7
- package/front_end/generated/SupportedCSSProperties.js +14 -41
- package/front_end/generated/protocol-mapping.d.ts +15 -1
- package/front_end/generated/protocol-proxy-api.d.ts +14 -1
- package/front_end/generated/protocol.ts +27 -2
- package/front_end/models/bindings/IgnoreListManager.ts +25 -2
- package/front_end/models/crux-manager/CrUXManager.test.ts +25 -6
- package/front_end/models/crux-manager/CrUXManager.ts +23 -4
- package/front_end/models/extensions/ExtensionAPI.ts +9 -1
- package/front_end/models/extensions/ExtensionServer.test.ts +14 -0
- package/front_end/models/extensions/ExtensionServer.ts +28 -15
- package/front_end/models/heap_snapshot_model/HeapSnapshotModel.ts +2 -0
- package/front_end/models/issues_manager/CookieIssue.ts +79 -2
- package/front_end/models/issues_manager/IssuesManager.ts +1 -1
- package/front_end/models/issues_manager/descriptions/cookieExcludePortMismatch.md +8 -0
- package/front_end/models/issues_manager/descriptions/cookieExcludeSchemeMismatch.md +7 -0
- package/front_end/models/javascript_metadata/NativeFunctions.js +22 -25
- package/front_end/models/live-metrics/web-vitals-injected/{rollup.config.js → rollup.config.mjs} +1 -1
- package/front_end/models/persistence/EditFileSystemView.ts +20 -10
- package/front_end/models/persistence/WorkspaceSettingsTab.ts +50 -54
- package/front_end/models/persistence/editFileSystemView.css +38 -15
- package/front_end/models/persistence/workspaceSettingsTab.css +21 -87
- package/front_end/models/timeline_model/timeline_model.ts +0 -6
- package/front_end/models/trace/Processor.test.ts +18 -17
- package/front_end/models/trace/Processor.ts +10 -14
- package/front_end/models/trace/README.md +0 -1
- package/front_end/models/trace/extras/Metadata.test.ts +35 -2
- package/front_end/models/trace/extras/Metadata.ts +24 -5
- package/front_end/models/{timeline_model → trace/extras}/TimelineJSProfile.ts +19 -29
- package/front_end/models/{timeline_model/TimelineModelFilter.test.ts → trace/extras/TraceFilter.test.ts} +15 -17
- package/front_end/models/trace/extras/TraceFilter.ts +62 -0
- package/front_end/models/{timeline_model/TimelineProfileTree.test.ts → trace/extras/TraceTree.test.ts} +44 -43
- package/front_end/models/{timeline_model/TimelineProfileTree.ts → trace/extras/TraceTree.ts} +86 -70
- package/front_end/models/trace/extras/URLForEntry.ts +6 -5
- package/front_end/models/trace/extras/extras.ts +3 -0
- package/front_end/models/trace/handlers/AnimationHandler.ts +0 -8
- package/front_end/models/trace/handlers/ExtensionTraceDataHandler.ts +1 -11
- package/front_end/models/trace/handlers/FramesHandler.test.ts +1 -6
- package/front_end/models/trace/handlers/FramesHandler.ts +1 -14
- package/front_end/models/trace/handlers/GPUHandler.test.ts +0 -2
- package/front_end/models/trace/handlers/GPUHandler.ts +1 -25
- package/front_end/models/trace/handlers/ImagePaintingHandler.ts +15 -0
- package/front_end/models/trace/handlers/InitiatorsHandler.test.ts +0 -1
- package/front_end/models/trace/handlers/InitiatorsHandler.ts +0 -20
- package/front_end/models/trace/handlers/InvalidationsHandler.test.ts +0 -1
- package/front_end/models/trace/handlers/InvalidationsHandler.ts +0 -18
- package/front_end/models/trace/handlers/LargestImagePaintHandler.test.ts +2 -2
- package/front_end/models/trace/handlers/LargestImagePaintHandler.ts +63 -3
- package/front_end/models/trace/handlers/LargestTextPaintHandler.ts +3 -0
- package/front_end/models/trace/handlers/LayerTreeHandler.test.ts +0 -2
- package/front_end/models/trace/handlers/LayerTreeHandler.ts +1 -18
- package/front_end/models/trace/handlers/LayoutShiftsHandler.test.ts +0 -3
- package/front_end/models/trace/handlers/LayoutShiftsHandler.ts +1 -20
- package/front_end/models/trace/handlers/MemoryHandler.test.ts +0 -1
- package/front_end/models/trace/handlers/MemoryHandler.ts +3 -0
- package/front_end/models/trace/handlers/MetaHandler.test.ts +1 -32
- package/front_end/models/trace/handlers/MetaHandler.ts +2 -30
- package/front_end/models/trace/handlers/NetworkRequestsHandler.test.ts +0 -26
- package/front_end/models/trace/handlers/NetworkRequestsHandler.ts +4 -23
- package/front_end/models/trace/handlers/PageFramesHandler.ts +3 -0
- package/front_end/models/trace/handlers/RendererHandler.test.ts +0 -4
- package/front_end/models/trace/handlers/RendererHandler.ts +1 -24
- package/front_end/models/trace/handlers/SamplesHandler.test.ts +0 -5
- package/front_end/models/trace/handlers/SamplesHandler.ts +0 -26
- package/front_end/models/trace/handlers/ScreenshotsHandler.test.ts +0 -1
- package/front_end/models/trace/handlers/SelectorStatsHandler.ts +3 -0
- package/front_end/models/trace/handlers/ServerTimingsHandler.ts +1 -16
- package/front_end/models/trace/handlers/Threads.test.ts +1 -2
- package/front_end/models/trace/handlers/UserInteractionsHandler.test.ts +4 -27
- package/front_end/models/trace/handlers/UserInteractionsHandler.ts +16 -25
- package/front_end/models/trace/handlers/UserTimingsHandler.ts +0 -17
- package/front_end/models/trace/handlers/WorkersHandler.test.ts +0 -1
- package/front_end/models/trace/handlers/WorkersHandler.ts +0 -23
- package/front_end/models/trace/handlers/types.ts +1 -8
- package/front_end/models/trace/helpers/Timing.ts +8 -0
- package/front_end/models/trace/insights/{CumulativeLayoutShift.test.ts → CLSCulprits.test.ts} +21 -21
- package/front_end/models/trace/insights/{CumulativeLayoutShift.ts → CLSCulprits.ts} +32 -5
- package/front_end/models/trace/insights/Common.ts +5 -55
- package/front_end/models/trace/insights/DocumentLatency.test.ts +2 -2
- package/front_end/models/trace/insights/DocumentLatency.ts +39 -6
- package/front_end/models/trace/insights/FontDisplay.ts +31 -5
- package/front_end/models/trace/insights/ImageDelivery.test.ts +98 -0
- package/front_end/models/trace/insights/ImageDelivery.ts +183 -0
- package/front_end/models/trace/insights/InteractionToNextPaint.test.ts +1 -1
- package/front_end/models/trace/insights/InteractionToNextPaint.ts +32 -6
- package/front_end/models/trace/insights/LCPDiscovery.test.ts +58 -0
- package/front_end/models/trace/insights/LCPDiscovery.ts +122 -0
- package/front_end/models/trace/insights/{LargestContentfulPaint.test.ts → LCPPhases.test.ts} +6 -28
- package/front_end/models/trace/insights/{LargestContentfulPaint.ts → LCPPhases.ts} +59 -38
- package/front_end/models/trace/insights/{InsightRunners.ts → Models.ts} +5 -3
- package/front_end/models/trace/insights/RenderBlocking.test.ts +1 -1
- package/front_end/models/trace/insights/RenderBlocking.ts +41 -28
- package/front_end/models/trace/insights/SlowCSSSelector.ts +33 -5
- package/front_end/models/trace/insights/{ThirdPartyWeb.test.ts → ThirdParties.test.ts} +3 -3
- package/front_end/models/trace/insights/{ThirdPartyWeb.ts → ThirdParties.ts} +32 -5
- package/front_end/models/trace/insights/Viewport.test.ts +1 -1
- package/front_end/models/trace/insights/Viewport.ts +40 -9
- package/front_end/models/trace/insights/insights.ts +1 -1
- package/front_end/models/trace/insights/types.ts +22 -9
- package/front_end/models/trace/types/File.ts +7 -0
- package/front_end/models/trace/types/TraceEvents.ts +60 -24
- package/front_end/panels/animation/AnimationTimeline.ts +2 -4
- package/front_end/panels/application/ApplicationPanelSidebar.test.ts +0 -5
- package/front_end/panels/application/ApplicationPanelSidebar.ts +15 -21
- package/front_end/panels/application/IndexedDBViews.ts +4 -1
- package/front_end/panels/application/ServiceWorkerCacheViews.ts +4 -1
- package/front_end/panels/application/SharedStorageItemsView.test.ts +3 -3
- package/front_end/panels/application/SharedStorageItemsView.ts +5 -3
- package/front_end/panels/application/StorageView.test.ts +1 -1
- package/front_end/panels/application/StorageView.ts +3 -3
- package/front_end/panels/application/components/StorageMetadataView.ts +1 -2
- package/front_end/panels/application/resourcesSidebar.css +1 -1
- package/front_end/panels/browser_debugger/CategorizedBreakpointsSidebarPane.ts +1 -1
- package/front_end/panels/browser_debugger/DOMBreakpointsSidebarPane.ts +1 -1
- package/front_end/panels/browser_debugger/XHRBreakpointsSidebarPane.ts +35 -32
- package/front_end/panels/browser_debugger/categorizedBreakpointsSidebarPane.css +1 -1
- package/front_end/panels/browser_debugger/xhrBreakpointsSidebarPane.css +1 -1
- package/front_end/panels/console/ConsoleViewMessage.test.ts +25 -0
- package/front_end/panels/console/ConsoleViewMessage.ts +23 -0
- package/front_end/panels/coverage/CoverageListView.ts +1 -1
- package/front_end/panels/coverage/CoverageView.ts +3 -3
- package/front_end/panels/developer_resources/DeveloperResourcesListView.ts +1 -1
- package/front_end/panels/elements/ClassesPaneWidget.ts +1 -1
- package/front_end/panels/elements/ComputedStyleModel.ts +9 -2
- package/front_end/panels/elements/ComputedStyleWidget.test.ts +72 -0
- package/front_end/panels/elements/ComputedStyleWidget.ts +12 -0
- package/front_end/panels/elements/ElementStatePaneWidget.test.ts +85 -30
- package/front_end/panels/elements/ElementStatePaneWidget.ts +49 -26
- package/front_end/panels/elements/ElementsSidebarPane.ts +3 -3
- package/front_end/panels/elements/ElementsTreeElement.ts +25 -11
- package/front_end/panels/elements/LayersWidget.ts +1 -1
- package/front_end/panels/elements/MetricsSidebarPane.ts +12 -7
- package/front_end/panels/elements/PropertyMatchers.test.ts +7 -0
- package/front_end/panels/elements/PropertyMatchers.ts +6 -0
- package/front_end/panels/elements/StylePropertiesSection.ts +15 -6
- package/front_end/panels/elements/StylePropertyTreeElement.test.ts +3 -1
- package/front_end/panels/elements/StylePropertyTreeElement.ts +8 -3
- package/front_end/panels/elements/classesPaneWidget.css +1 -1
- package/front_end/panels/elements/stylePropertiesTreeOutline.css +2 -2
- package/front_end/panels/emulation/DeviceModeView.ts +1 -1
- package/front_end/panels/emulation/DeviceModeWrapper.ts +1 -1
- package/front_end/panels/emulation/InspectedPagePlaceholder.ts +1 -1
- package/front_end/panels/explain/components/ConsoleInsight.ts +8 -18
- package/front_end/panels/freestyler/AiAgent.test.ts +376 -50
- package/front_end/panels/freestyler/AiAgent.ts +251 -144
- package/front_end/panels/freestyler/AiHistoryStorage.test.ts +159 -0
- package/front_end/panels/freestyler/AiHistoryStorage.ts +73 -0
- package/front_end/panels/freestyler/DrJonesFileAgent.test.ts +113 -38
- package/front_end/panels/freestyler/DrJonesFileAgent.ts +56 -34
- package/front_end/panels/freestyler/DrJonesNetworkAgent.test.ts +29 -20
- package/front_end/panels/freestyler/DrJonesNetworkAgent.ts +39 -18
- package/front_end/panels/freestyler/DrJonesPerformanceAgent.test.ts +44 -42
- package/front_end/panels/freestyler/DrJonesPerformanceAgent.ts +51 -22
- package/front_end/panels/freestyler/FreestylerAgent.test.ts +210 -28
- package/front_end/panels/freestyler/FreestylerAgent.ts +65 -26
- package/front_end/panels/freestyler/FreestylerPanel.test.ts +610 -39
- package/front_end/panels/freestyler/FreestylerPanel.ts +414 -255
- package/front_end/panels/freestyler/components/FreestylerChatUi.test.ts +126 -34
- package/front_end/panels/freestyler/components/FreestylerChatUi.ts +431 -280
- package/front_end/panels/freestyler/components/UserActionRow.ts +157 -47
- package/front_end/panels/freestyler/components/freestylerChatUi.css +90 -35
- package/front_end/panels/freestyler/components/userActionRow.css +41 -67
- package/front_end/panels/freestyler/freestyler-meta.ts +3 -11
- package/front_end/panels/freestyler/freestyler.ts +1 -0
- package/front_end/panels/issues/IssueAggregator.test.ts +50 -0
- package/front_end/panels/issues/IssueAggregator.ts +10 -10
- package/front_end/panels/issues/components/HideIssuesMenu.ts +2 -11
- package/front_end/panels/issues/issuesTree.css +1 -1
- package/front_end/panels/layer_viewer/LayerDetailsView.ts +2 -3
- package/front_end/panels/layer_viewer/Layers3DView.ts +1 -1
- package/front_end/panels/layer_viewer/PaintProfilerView.ts +6 -6
- package/front_end/panels/layers/LayersPanel.ts +1 -1
- package/front_end/panels/lighthouse/LighthouseReportRenderer.ts +46 -0
- package/front_end/panels/lighthouse/lighthouseStartView.css +1 -1
- package/front_end/panels/media/TickingFlameChart.ts +1 -1
- package/front_end/panels/mobile_throttling/ThrottlingSettingsTab.ts +26 -17
- package/front_end/panels/mobile_throttling/throttlingSettingsTab.css +25 -19
- package/front_end/panels/network/BinaryResourceView.ts +6 -7
- package/front_end/panels/network/BlockedURLsPane.ts +1 -1
- package/front_end/panels/network/EventSourceMessagesView.ts +1 -1
- package/front_end/panels/network/NetworkDataGridNode.ts +4 -3
- package/front_end/panels/network/NetworkLogView.test.ts +1 -1
- package/front_end/panels/network/NetworkLogView.ts +7 -8
- package/front_end/panels/network/NetworkPanel.ts +40 -32
- package/front_end/panels/network/NetworkWaterfallColumn.ts +1 -1
- package/front_end/panels/network/RequestTimingView.test.ts +35 -1
- package/front_end/panels/network/RequestTimingView.ts +96 -0
- package/front_end/panels/network/ResourceWebSocketFrameView.ts +2 -2
- package/front_end/panels/network/networkTimingTable.css +2 -1
- package/front_end/panels/performance_monitor/PerformanceMonitor.ts +1 -1
- package/front_end/panels/profiler/HeapProfileView.ts +10 -10
- package/front_end/panels/profiler/HeapSnapshotView.ts +2 -2
- package/front_end/panels/profiler/HeapTimelineOverview.ts +13 -13
- package/front_end/panels/profiler/IsolateSelector.ts +4 -5
- package/front_end/panels/profiler/LiveHeapProfileView.ts +3 -1
- package/front_end/panels/profiler/ProfileFlameChartDataProvider.ts +4 -4
- package/front_end/panels/profiler/ProfileSidebarTreeElement.ts +7 -6
- package/front_end/panels/profiler/ProfileView.ts +3 -3
- package/front_end/panels/profiler/profileLauncherView.css +1 -1
- package/front_end/panels/profiler/profilesSidebarTree.css +1 -1
- package/front_end/panels/recorder/components/RecordingView.ts +2 -2
- package/front_end/panels/recorder/injected/{rollup.config.js → rollup.config.mjs} +1 -1
- package/front_end/panels/recorder/recorderController.css +1 -5
- package/front_end/panels/security/CookieControlsTreeElement.ts +18 -0
- package/front_end/panels/security/CookieControlsView.test.ts +29 -0
- package/front_end/panels/security/CookieControlsView.ts +265 -0
- package/front_end/panels/security/CookieReportTreeElement.ts +1 -9
- package/front_end/panels/security/CookieReportView.test.ts +157 -0
- package/front_end/panels/security/CookieReportView.ts +316 -0
- package/front_end/panels/security/SecurityPanel.ts +12 -4
- package/front_end/panels/security/SecurityPanelSidebar.ts +6 -1
- package/front_end/panels/security/cookieControlsView.css +101 -0
- package/front_end/panels/security/cookieReportView.css +69 -0
- package/front_end/panels/security/security.ts +4 -0
- package/front_end/panels/security/sidebar.css +2 -3
- package/front_end/panels/sensors/LocationsSettingsTab.ts +26 -11
- package/front_end/panels/sensors/locationsSettingsTab.css +18 -18
- package/front_end/panels/settings/AISettingsTab.ts +6 -15
- package/front_end/panels/settings/KeybindsSettingsTab.ts +4 -3
- package/front_end/panels/settings/SettingsScreen.ts +64 -55
- package/front_end/panels/settings/aiSettingsTab.css +3 -14
- package/front_end/panels/settings/components/SyncSection.ts +1 -2
- package/front_end/panels/settings/components/syncSection.css +0 -10
- package/front_end/panels/settings/frameworkIgnoreListSettingsTab.css +4 -2
- package/front_end/panels/settings/keybindsSettingsTab.css +12 -10
- package/front_end/panels/settings/settings-meta.ts +3 -1
- package/front_end/panels/settings/settingsScreen.css +37 -125
- package/front_end/panels/sources/CallStackSidebarPane.ts +2 -2
- package/front_end/panels/sources/DebuggerPlugin.ts +9 -4
- package/front_end/panels/sources/NavigatorView.ts +12 -13
- package/front_end/panels/sources/navigatorTree.css +1 -1
- package/front_end/panels/sources/sourcesPanel.css +2 -2
- package/front_end/panels/timeline/ActiveFilters.ts +3 -4
- package/front_end/panels/timeline/AnimationsTrackAppender.ts +2 -9
- package/front_end/panels/timeline/AppenderUtils.ts +1 -1
- package/front_end/panels/timeline/CompatibilityTracksAppender.ts +38 -41
- package/front_end/panels/timeline/CountersGraph.ts +2 -4
- package/front_end/panels/timeline/EventsTimelineTreeView.ts +7 -8
- package/front_end/panels/timeline/ExtensionTrackAppender.ts +4 -13
- package/front_end/panels/timeline/InteractionsTrackAppender.ts +3 -4
- package/front_end/panels/timeline/LayoutShiftsTrackAppender.ts +6 -12
- package/front_end/panels/timeline/README.md +2 -1
- package/front_end/panels/timeline/ServerTimingsTrackAppender.ts +1 -10
- package/front_end/panels/timeline/ThreadAppender.ts +9 -12
- package/front_end/panels/timeline/TimelineController.ts +14 -4
- package/front_end/panels/timeline/TimelineDetailsView.test.ts +3 -2
- package/front_end/panels/timeline/TimelineDetailsView.ts +18 -17
- package/front_end/panels/timeline/TimelineEventOverview.ts +3 -4
- package/front_end/panels/timeline/TimelineFilters.ts +3 -4
- package/front_end/panels/timeline/TimelineFlameChartDataProvider.test.ts +1 -1
- package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +58 -46
- package/front_end/panels/timeline/TimelineFlameChartNetworkDataProvider.ts +2 -3
- package/front_end/panels/timeline/TimelineFlameChartView.ts +54 -26
- package/front_end/panels/timeline/TimelineHistoryManager.test.ts +20 -15
- package/front_end/panels/timeline/TimelineHistoryManager.ts +46 -58
- package/front_end/panels/timeline/TimelineLayersView.ts +1 -1
- package/front_end/panels/timeline/TimelineLoader.test.ts +1 -2
- package/front_end/panels/timeline/TimelineLoader.ts +19 -4
- package/front_end/panels/timeline/TimelineMiniMap.ts +12 -2
- package/front_end/panels/timeline/TimelinePaintProfilerView.ts +1 -1
- package/front_end/panels/timeline/TimelinePanel.ts +161 -32
- package/front_end/panels/timeline/TimelineTreeView.test.ts +12 -13
- package/front_end/panels/timeline/TimelineTreeView.ts +98 -54
- package/front_end/panels/timeline/TimelineUIUtils.test.ts +2 -2
- package/front_end/panels/timeline/TimelineUIUtils.ts +56 -14
- package/front_end/panels/timeline/TimingsTrackAppender.ts +6 -13
- package/front_end/panels/timeline/components/FieldSettingsDialog.test.ts +1 -0
- package/front_end/panels/timeline/components/FieldSettingsDialog.ts +6 -1
- package/front_end/panels/timeline/components/LayoutShiftDetails.ts +6 -7
- package/front_end/panels/timeline/components/LiveMetricsView.test.ts +15 -3
- package/front_end/panels/timeline/components/LiveMetricsView.ts +27 -44
- package/front_end/panels/timeline/components/MetricCard.test.ts +1 -1
- package/front_end/panels/timeline/components/MetricCard.ts +46 -0
- package/front_end/panels/timeline/components/NetworkRequestDetails.ts +3 -4
- package/front_end/panels/timeline/components/Sidebar.ts +1 -4
- package/front_end/panels/timeline/components/SidebarAnnotationsTab.test.ts +1 -1
- package/front_end/panels/timeline/components/SidebarInsightsTab.ts +1 -1
- package/front_end/panels/timeline/components/SidebarSingleInsightSet.test.ts +23 -35
- package/front_end/panels/timeline/components/SidebarSingleInsightSet.ts +53 -41
- package/front_end/panels/timeline/components/TimelineSummary.test.ts +75 -0
- package/front_end/panels/timeline/components/TimelineSummary.ts +101 -0
- package/front_end/panels/timeline/components/Utils.test.ts +49 -0
- package/front_end/panels/timeline/components/Utils.ts +2 -2
- package/front_end/panels/timeline/components/components.ts +2 -0
- package/front_end/panels/timeline/components/insights/BaseInsightComponent.test.ts +84 -0
- package/front_end/panels/timeline/components/insights/BaseInsightComponent.ts +291 -0
- package/front_end/panels/timeline/components/insights/CLSCulprits.ts +24 -62
- package/front_end/panels/timeline/components/insights/DocumentLatency.ts +43 -72
- package/front_end/panels/timeline/components/insights/EventRef.ts +70 -2
- package/front_end/panels/timeline/components/insights/FontDisplay.ts +37 -61
- package/front_end/panels/timeline/components/insights/Helpers.ts +5 -212
- package/front_end/panels/timeline/components/insights/ImageDelivery.ts +142 -0
- package/front_end/panels/timeline/components/insights/InteractionToNextPaint.ts +34 -69
- package/front_end/panels/timeline/components/insights/LCPDiscovery.ts +52 -103
- package/front_end/panels/timeline/components/insights/LCPPhases.ts +31 -92
- package/front_end/panels/timeline/components/insights/RenderBlocking.ts +38 -64
- package/front_end/panels/timeline/components/insights/SidebarInsight.ts +3 -198
- package/front_end/panels/timeline/components/insights/SlowCSSSelector.ts +59 -95
- package/front_end/panels/timeline/components/insights/Table.ts +6 -3
- package/front_end/panels/timeline/components/insights/ThirdParties.ts +51 -78
- package/front_end/panels/timeline/components/insights/Viewport.ts +27 -49
- package/front_end/panels/timeline/components/insights/{sidebarInsight.css → baseInsightComponent.css} +9 -9
- package/front_end/panels/timeline/components/insights/insights.ts +4 -0
- package/front_end/panels/timeline/components/insights/types.ts +0 -7
- package/front_end/panels/timeline/components/liveMetricsView.css +10 -18
- package/front_end/panels/timeline/components/metricCard.css +11 -0
- package/front_end/panels/timeline/components/sidebarInsightsTab.css +1 -1
- package/front_end/panels/timeline/components/timelineSummary.css +67 -0
- package/front_end/panels/timeline/docs/flame_chart_migration.md +1 -1
- package/front_end/panels/timeline/fixtures/traces/README.md +4 -0
- package/front_end/panels/timeline/fixtures/traces/image-delivery.json.gz +0 -0
- package/front_end/panels/timeline/overlays/OverlaysImpl.test.ts +5 -5
- package/front_end/panels/timeline/overlays/OverlaysImpl.ts +35 -12
- package/front_end/panels/timeline/timeline-meta.ts +1 -1
- package/front_end/panels/timeline/timelineFlameChartView.css +1 -1
- package/front_end/panels/timeline/timelineFlamechartPopover.css +14 -4
- package/front_end/panels/timeline/timelineHistoryManager.css +7 -3
- package/front_end/panels/timeline/timelinePanel.css +0 -1
- package/front_end/panels/timeline/track_appenders/CompatibilityTracksAppender.test.ts +5 -5
- package/front_end/panels/timeline/track_appenders/ExtensionTrackAppender.test.ts +5 -6
- package/front_end/panels/timeline/track_appenders/LayoutShiftsTrackAppender.test.ts +11 -2
- package/front_end/panels/timeline/track_appenders/ServerTimingsTrackAppender.test.ts +0 -9
- package/front_end/panels/timeline/track_appenders/ThreadAppender.test.ts +37 -44
- package/front_end/panels/timeline/track_appenders/TimingsTrackAppender.test.ts +44 -30
- package/front_end/panels/timeline/utils/AICallTree.test.ts +105 -0
- package/front_end/panels/timeline/utils/AICallTree.ts +25 -24
- package/front_end/panels/timeline/utils/EntryName.ts +1 -2
- package/front_end/panels/timeline/utils/Helpers.ts +19 -0
- package/front_end/panels/timeline/utils/IgnoreList.test.ts +52 -0
- package/front_end/panels/timeline/utils/IgnoreList.ts +68 -7
- package/front_end/panels/timeline/utils/SourceMapsResolver.ts +2 -0
- package/front_end/panels/webauthn/webauthnPane.css +1 -1
- package/front_end/panels/whats_new/ReleaseNote.test.ts +90 -0
- package/front_end/panels/whats_new/ReleaseNoteText.ts +52 -0
- package/front_end/panels/whats_new/ReleaseNoteView.ts +157 -0
- package/front_end/panels/whats_new/WhatsNewImpl.ts +102 -0
- package/front_end/panels/whats_new/releaseNoteView.css +121 -0
- package/front_end/panels/whats_new/resources/WNDT.md +6 -0
- package/front_end/panels/whats_new/resources/whatsnew.avif +0 -0
- package/front_end/panels/whats_new/whats_new-meta.ts +142 -0
- package/front_end/panels/whats_new/whats_new.ts +13 -0
- package/front_end/services/puppeteer/PuppeteerConnection.ts +4 -3
- package/front_end/testing/EnvironmentHelpers.ts +6 -20
- package/front_end/testing/InsightHelpers.ts +4 -4
- package/front_end/testing/SourceMapEncoder.ts +27 -11
- package/front_end/testing/TraceHelpers.ts +3 -2
- package/front_end/testing/TraceLoader.ts +6 -2
- package/front_end/third_party/lighthouse/README.chromium +2 -2
- package/front_end/third_party/lighthouse/lighthouse-dt-bundle.js +1380 -1369
- package/front_end/third_party/lighthouse/locales/ar-XB.json +88 -85
- package/front_end/third_party/lighthouse/locales/ar.json +98 -95
- package/front_end/third_party/lighthouse/locales/bg.json +88 -85
- package/front_end/third_party/lighthouse/locales/ca.json +91 -88
- package/front_end/third_party/lighthouse/locales/cs.json +91 -88
- package/front_end/third_party/lighthouse/locales/da.json +94 -91
- package/front_end/third_party/lighthouse/locales/de.json +92 -89
- package/front_end/third_party/lighthouse/locales/el.json +92 -89
- package/front_end/third_party/lighthouse/locales/en-GB.json +89 -86
- package/front_end/third_party/lighthouse/locales/en-US.json +23 -20
- package/front_end/third_party/lighthouse/locales/en-XA.json +88 -85
- package/front_end/third_party/lighthouse/locales/en-XL.json +23 -20
- package/front_end/third_party/lighthouse/locales/es-419.json +92 -89
- package/front_end/third_party/lighthouse/locales/es.json +91 -88
- package/front_end/third_party/lighthouse/locales/fi.json +92 -89
- package/front_end/third_party/lighthouse/locales/fil.json +93 -90
- package/front_end/third_party/lighthouse/locales/fr.json +94 -91
- package/front_end/third_party/lighthouse/locales/he.json +97 -94
- package/front_end/third_party/lighthouse/locales/hi.json +92 -89
- package/front_end/third_party/lighthouse/locales/hr.json +90 -87
- package/front_end/third_party/lighthouse/locales/hu.json +90 -87
- package/front_end/third_party/lighthouse/locales/id.json +91 -88
- package/front_end/third_party/lighthouse/locales/it.json +90 -87
- package/front_end/third_party/lighthouse/locales/ja.json +90 -87
- package/front_end/third_party/lighthouse/locales/ko.json +90 -87
- package/front_end/third_party/lighthouse/locales/lt.json +90 -87
- package/front_end/third_party/lighthouse/locales/lv.json +91 -88
- package/front_end/third_party/lighthouse/locales/nl.json +90 -87
- package/front_end/third_party/lighthouse/locales/no.json +92 -89
- package/front_end/third_party/lighthouse/locales/pl.json +90 -87
- package/front_end/third_party/lighthouse/locales/pt-PT.json +111 -108
- package/front_end/third_party/lighthouse/locales/pt.json +97 -94
- package/front_end/third_party/lighthouse/locales/ro.json +94 -91
- package/front_end/third_party/lighthouse/locales/ru.json +93 -90
- package/front_end/third_party/lighthouse/locales/sk.json +93 -90
- package/front_end/third_party/lighthouse/locales/sl.json +91 -88
- package/front_end/third_party/lighthouse/locales/sr-Latn.json +91 -88
- package/front_end/third_party/lighthouse/locales/sr.json +91 -88
- package/front_end/third_party/lighthouse/locales/sv.json +92 -89
- package/front_end/third_party/lighthouse/locales/ta.json +101 -98
- package/front_end/third_party/lighthouse/locales/te.json +92 -89
- package/front_end/third_party/lighthouse/locales/th.json +95 -92
- package/front_end/third_party/lighthouse/locales/tr.json +91 -88
- package/front_end/third_party/lighthouse/locales/uk.json +93 -90
- package/front_end/third_party/lighthouse/locales/vi.json +95 -92
- package/front_end/third_party/lighthouse/locales/zh-HK.json +92 -89
- package/front_end/third_party/lighthouse/locales/zh-TW.json +98 -95
- package/front_end/third_party/lighthouse/locales/zh.json +96 -93
- package/front_end/third_party/puppeteer/README.chromium +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.d.ts +10 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/ElementHandle.d.ts +14 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/ElementHandle.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/ElementHandle.js +16 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/ElementHandle.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Frame.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Frame.js +3 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Frame.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/HTTPRequest.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/HTTPRequest.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/HTTPRequest.js +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/HTTPRequest.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Input.d.ts +34 -5
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Input.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Input.js +51 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Input.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.d.ts +4 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/ElementHandle.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/ElementHandle.js +10 -8
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/ElementHandle.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Frame.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Frame.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Frame.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Input.d.ts +14 -4
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Input.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Input.js +57 -23
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Input.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.js +3 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.d.ts +3 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.js +10 -4
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserConnector.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserConnector.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserConnector.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserContext.d.ts +2 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserContext.js +7 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ElementHandle.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ElementHandle.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ElementHandle.js +13 -10
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ElementHandle.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPRequest.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPRequest.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPRequest.js +3 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPRequest.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPResponse.d.ts +1 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPResponse.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPResponse.js +4 -4
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPResponse.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Input.d.ts +15 -4
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Input.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Input.js +55 -26
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Input.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/NetworkManager.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/NetworkManager.js +24 -12
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/NetworkManager.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.js +3 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/CallbackRegistry.d.ts +0 -8
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/CallbackRegistry.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/CallbackRegistry.js +2 -11
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/CallbackRegistry.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConnectOptions.d.ts +5 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConnectOptions.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConsoleMessage.d.ts +2 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConsoleMessage.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConsoleMessage.js +5 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConsoleMessage.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DownloadBehavior.d.ts +30 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DownloadBehavior.d.ts.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DownloadBehavior.js +8 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DownloadBehavior.js.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Errors.d.ts +7 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Errors.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Errors.js +9 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Errors.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/WaitTask.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/WaitTask.js +5 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/WaitTask.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/common.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/common.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/environment.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/environment.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/environment.js +0 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/environment.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/injected.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/injected.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/injected.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.d.ts +3 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js +3 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Mutex.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/incremental-id-generator.d.ts +14 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/incremental-id-generator.d.ts.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/incremental-id-generator.js +18 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/incremental-id-generator.js.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.d.ts +100 -10
- package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +291 -143
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.d.ts +10 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/ElementHandle.d.ts +14 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/ElementHandle.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/ElementHandle.js +16 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/ElementHandle.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Frame.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Frame.js +3 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Frame.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/HTTPRequest.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/HTTPRequest.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/HTTPRequest.js +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/HTTPRequest.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Input.d.ts +34 -5
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Input.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Input.js +51 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Input.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.d.ts +4 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/ElementHandle.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/ElementHandle.js +10 -8
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/ElementHandle.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Frame.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Frame.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Frame.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Input.d.ts +14 -4
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Input.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Input.js +57 -23
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Input.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.js +3 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.d.ts +3 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.js +10 -4
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserConnector.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserConnector.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserConnector.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserContext.d.ts +2 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserContext.js +7 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ElementHandle.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ElementHandle.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ElementHandle.js +13 -10
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ElementHandle.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPRequest.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPRequest.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPRequest.js +3 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPRequest.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPResponse.d.ts +1 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPResponse.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPResponse.js +4 -4
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPResponse.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Input.d.ts +15 -4
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Input.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Input.js +55 -26
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Input.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/NetworkManager.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/NetworkManager.js +24 -12
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/NetworkManager.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.js +3 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/CallbackRegistry.d.ts +0 -8
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/CallbackRegistry.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/CallbackRegistry.js +1 -9
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/CallbackRegistry.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectOptions.d.ts +5 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectOptions.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConsoleMessage.d.ts +2 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConsoleMessage.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConsoleMessage.js +5 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConsoleMessage.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DownloadBehavior.d.ts +30 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DownloadBehavior.d.ts.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DownloadBehavior.js +7 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DownloadBehavior.js.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Errors.d.ts +7 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Errors.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Errors.js +7 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Errors.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/WaitTask.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/WaitTask.js +5 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/WaitTask.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/common.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/common.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/environment.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/environment.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/environment.js +0 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/environment.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/injected.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/injected.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.d.ts +3 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js +3 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/incremental-id-generator.d.ts +14 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/incremental-id-generator.d.ts.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/incremental-id-generator.js +15 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/incremental-id-generator.js.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/types.d.ts +100 -10
- package/front_end/third_party/puppeteer/package/package.json +5 -5
- package/front_end/third_party/puppeteer/package/src/api/Browser.ts +10 -3
- package/front_end/third_party/puppeteer/package/src/api/ElementHandle.ts +21 -3
- package/front_end/third_party/puppeteer/package/src/api/Frame.ts +3 -1
- package/front_end/third_party/puppeteer/package/src/api/HTTPRequest.ts +1 -0
- package/front_end/third_party/puppeteer/package/src/api/Input.ts +57 -8
- package/front_end/third_party/puppeteer/package/src/api/Page.ts +5 -0
- package/front_end/third_party/puppeteer/package/src/bidi/ElementHandle.ts +9 -7
- package/front_end/third_party/puppeteer/package/src/bidi/Frame.ts +1 -0
- package/front_end/third_party/puppeteer/package/src/bidi/Input.ts +72 -31
- package/front_end/third_party/puppeteer/package/src/bidi/Page.ts +4 -0
- package/front_end/third_party/puppeteer/package/src/cdp/Browser.ts +11 -3
- package/front_end/third_party/puppeteer/package/src/cdp/BrowserConnector.ts +2 -0
- package/front_end/third_party/puppeteer/package/src/cdp/BrowserContext.ts +11 -0
- package/front_end/third_party/puppeteer/package/src/cdp/ElementHandle.ts +14 -9
- package/front_end/third_party/puppeteer/package/src/cdp/HTTPRequest.ts +4 -0
- package/front_end/third_party/puppeteer/package/src/cdp/HTTPResponse.ts +3 -5
- package/front_end/third_party/puppeteer/package/src/cdp/Input.ts +71 -26
- package/front_end/third_party/puppeteer/package/src/cdp/NetworkManager.ts +34 -17
- package/front_end/third_party/puppeteer/package/src/cdp/Page.ts +4 -0
- package/front_end/third_party/puppeteer/package/src/common/CallbackRegistry.ts +1 -15
- package/front_end/third_party/puppeteer/package/src/common/ConnectOptions.ts +5 -0
- package/front_end/third_party/puppeteer/package/src/common/ConsoleMessage.ts +8 -1
- package/front_end/third_party/puppeteer/package/src/common/DownloadBehavior.ts +31 -0
- package/front_end/third_party/puppeteer/package/src/common/Errors.ts +7 -0
- package/front_end/third_party/puppeteer/package/src/common/WaitTask.ts +9 -9
- package/front_end/third_party/puppeteer/package/src/common/common.ts +1 -0
- package/front_end/third_party/puppeteer/package/src/environment.ts +1 -4
- package/front_end/third_party/puppeteer/package/src/generated/injected.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/generated/version.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/node/BrowserLauncher.ts +2 -0
- package/front_end/third_party/puppeteer/package/src/revisions.ts +3 -3
- package/front_end/third_party/puppeteer/package/src/util/incremental-id-generator.ts +20 -0
- package/front_end/third_party/puppeteer/puppeteer-tsconfig.json +2 -0
- package/front_end/ui/components/buttons/Button.test.ts +14 -0
- package/front_end/ui/components/buttons/Button.ts +27 -4
- package/front_end/ui/components/cards/card.css +7 -4
- package/front_end/ui/components/data_grid/DataGridControllerIntegrator.ts +4 -1
- package/front_end/ui/components/dialogs/ButtonDialog.test.ts +78 -0
- package/front_end/ui/components/dialogs/ButtonDialog.ts +131 -0
- package/front_end/ui/components/dialogs/Dialog.test.ts +43 -0
- package/front_end/ui/components/dialogs/Dialog.ts +63 -3
- package/front_end/ui/components/dialogs/ShortcutDialog.test.ts +15 -1
- package/front_end/ui/components/dialogs/ShortcutDialog.ts +33 -23
- package/front_end/ui/components/dialogs/buttonDialog.css +9 -0
- package/front_end/ui/components/dialogs/dialog.css +15 -4
- package/front_end/ui/components/dialogs/dialogs.ts +2 -0
- package/front_end/ui/components/dialogs/shortcutDialog.css +58 -38
- package/front_end/ui/components/docs/dialog/button_dialog.html +28 -0
- package/front_end/ui/components/docs/dialog/button_dialog.ts +29 -0
- package/front_end/ui/components/docs/freestyler/basic.ts +6 -8
- package/front_end/ui/components/docs/freestyler/empty_state.ts +6 -8
- package/front_end/ui/components/docs/performance_panel/basic.ts +1 -1
- package/front_end/ui/components/docs/performance_panel/timeline_history_manager.ts +6 -4
- package/front_end/ui/components/docs/performance_panel/track_example.html +1 -1
- package/front_end/ui/components/floating_button/FloatingButton.ts +3 -2
- package/front_end/ui/components/icon_button/fileSourceIcon.css +7 -3
- package/front_end/ui/components/issue_counter/IssueCounter.ts +15 -2
- package/front_end/ui/components/legacy_wrapper/LegacyWrapper.ts +1 -1
- package/front_end/ui/components/markdown_view/MarkdownView.test.ts +39 -17
- package/front_end/ui/components/markdown_view/MarkdownView.ts +92 -14
- package/front_end/ui/components/markdown_view/markdownView.css +15 -0
- package/front_end/ui/components/render_coordinator/RenderCoordinator.ts +24 -18
- package/front_end/ui/components/settings/SettingCheckbox.ts +3 -2
- package/front_end/ui/components/switch/SwitchImpl.ts +2 -2
- package/front_end/ui/legacy/ContextMenu.ts +2 -2
- package/front_end/ui/legacy/Infobar.ts +6 -0
- package/front_end/ui/legacy/InplaceEditor.ts +18 -14
- package/front_end/ui/legacy/InspectorView.ts +40 -0
- package/front_end/ui/legacy/ListWidget.ts +4 -2
- package/front_end/ui/legacy/TabbedPane.ts +0 -14
- package/front_end/ui/legacy/ThrottledWidget.ts +2 -2
- package/front_end/ui/legacy/Toolbar.ts +3 -3
- package/front_end/ui/legacy/UIUtils.ts +8 -13
- package/front_end/ui/legacy/Widget.ts +32 -0
- package/front_end/ui/legacy/components/cookie_table/CookiesTable.ts +7 -2
- package/front_end/ui/legacy/components/data_grid/DataGrid.test.ts +6 -9
- package/front_end/ui/legacy/components/data_grid/DataGrid.ts +43 -38
- package/front_end/ui/legacy/components/data_grid/ViewportDataGrid.ts +21 -12
- package/front_end/ui/legacy/components/inline_editor/LinkSwatch.test.ts +19 -0
- package/front_end/ui/legacy/components/inline_editor/LinkSwatch.ts +1 -1
- package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +1 -1
- package/front_end/ui/legacy/components/perf_ui/ChartViewport.ts +2 -2
- package/front_end/ui/legacy/components/perf_ui/FilmStripView.ts +1 -1
- package/front_end/ui/legacy/components/perf_ui/FlameChart.ts +37 -47
- package/front_end/ui/legacy/components/perf_ui/OverviewGrid.ts +129 -100
- package/front_end/ui/legacy/components/perf_ui/TimelineGrid.ts +4 -2
- package/front_end/ui/legacy/components/perf_ui/TimelineOverviewCalculator.test.ts +9 -4
- package/front_end/ui/legacy/components/perf_ui/TimelineOverviewCalculator.ts +23 -9
- package/front_end/ui/legacy/components/perf_ui/TimelineOverviewPane.ts +102 -43
- package/front_end/ui/legacy/components/perf_ui/flameChart.css +0 -2
- package/front_end/ui/legacy/components/perf_ui/perf_ui-meta.ts +4 -4
- package/front_end/ui/legacy/components/source_frame/BinaryResourceViewFactory.test.ts +49 -0
- package/front_end/ui/legacy/components/source_frame/BinaryResourceViewFactory.ts +23 -46
- package/front_end/ui/legacy/components/source_frame/ImageView.ts +1 -1
- package/front_end/ui/legacy/components/utils/ImagePreview.ts +1 -1
- package/front_end/ui/legacy/components/utils/jsUtils.css +8 -0
- package/front_end/ui/legacy/filter.css +1 -1
- package/front_end/ui/legacy/inspectorCommon.css +1 -1
- package/front_end/ui/legacy/listWidget.css +4 -1
- package/front_end/ui/legacy/reportView.css +1 -1
- package/front_end/ui/legacy/textPrompt.css +1 -1
- package/front_end/ui/legacy/toolbar.css +7 -11
- package/front_end/ui/legacy/treeoutline.css +3 -1
- package/front_end/ui/visual_logging/KnownContextValues.ts +186 -1
- package/front_end/ui/visual_logging/LoggingConfig.ts +6 -2
- package/front_end/ui/visual_logging/LoggingDriver.test.ts +27 -1
- package/front_end/ui/visual_logging/LoggingDriver.ts +7 -4
- package/package.json +8 -8
- package/scripts/build/ninja/bundle.gni +3 -3
- package/scripts/build/{rollup.config.js → rollup.config.mjs} +4 -4
- package/scripts/build/wasm-as.py +1 -1
- package/scripts/devtools_paths.py +8 -4
- package/scripts/eslint_rules/tests/check_test_definitions_test.js +8 -3
- package/scripts/freestyler/auto_freestyler.js +12 -4
- package/scripts/freestyler/to_tsv.mjs +40 -0
- package/scripts/tools/update_goldens.py +11 -13
- package/scripts/tools/update_goldens_v2.py +1 -1
- package/front_end/models/timeline_model/TimelineModelFilter.ts +0 -61
- package/front_end/panels/timeline/components/insights/SidebarInsight.test.ts +0 -72
- package/front_end/ui/components/docs/two_states_counter/basic.html +0 -27
- package/front_end/ui/components/docs/two_states_counter/basic.ts +0 -45
- package/front_end/ui/components/two_states_counter/TwoStatesCounter.test.ts +0 -73
- package/front_end/ui/components/two_states_counter/TwoStatesCounter.ts +0 -104
- package/front_end/ui/components/two_states_counter/twoStatesCounter.css +0 -37
- package/front_end/ui/components/two_states_counter/two_states_counter.ts +0 -9
- /package/front_end/Images/{rollup.config.js → rollup.config.mjs} +0 -0
@@ -0,0 +1,159 @@
|
|
1
|
+
// Copyright 2023 The Chromium Authors. All rights reserved.
|
2
|
+
// Use of this source code is governed by a BSD-style license that can be
|
3
|
+
// found in the LICENSE file.
|
4
|
+
|
5
|
+
import {
|
6
|
+
describeWithEnvironment,
|
7
|
+
} from '../../testing/EnvironmentHelpers.js';
|
8
|
+
|
9
|
+
import * as Freestyler from './freestyler.js';
|
10
|
+
|
11
|
+
describeWithEnvironment('Freestyler.AiHistoryStorage', () => {
|
12
|
+
const agent1: Freestyler.SerializedAgent = {
|
13
|
+
id: 'id1',
|
14
|
+
type: Freestyler.AgentType.FREESTYLER,
|
15
|
+
history: [],
|
16
|
+
};
|
17
|
+
const agent2: Freestyler.SerializedAgent = {
|
18
|
+
id: 'id2',
|
19
|
+
type: Freestyler.AgentType.DRJONES_FILE,
|
20
|
+
history: [],
|
21
|
+
};
|
22
|
+
const agent3: Freestyler.SerializedAgent = {
|
23
|
+
id: 'id3',
|
24
|
+
type: Freestyler.AgentType.DRJONES_NETWORK_REQUEST,
|
25
|
+
history: [],
|
26
|
+
};
|
27
|
+
|
28
|
+
afterEach(() => {
|
29
|
+
Freestyler.AiHistoryStorage.instance().clearForTest();
|
30
|
+
});
|
31
|
+
|
32
|
+
it('should create and retrieve history entry', async () => {
|
33
|
+
const storage = Freestyler.AiHistoryStorage.instance();
|
34
|
+
await storage.upsertHistoryEntry(agent1);
|
35
|
+
assert.deepEqual(
|
36
|
+
storage.getHistory(),
|
37
|
+
[{
|
38
|
+
id: 'id1',
|
39
|
+
type: 'freestyler' as Freestyler.AgentType,
|
40
|
+
history: [],
|
41
|
+
}],
|
42
|
+
);
|
43
|
+
await storage.upsertHistoryEntry(agent2);
|
44
|
+
assert.deepEqual(
|
45
|
+
storage.getHistory(),
|
46
|
+
[
|
47
|
+
{
|
48
|
+
id: 'id1',
|
49
|
+
type: 'freestyler' as Freestyler.AgentType,
|
50
|
+
history: [],
|
51
|
+
},
|
52
|
+
{
|
53
|
+
id: 'id2',
|
54
|
+
type: 'drjones-file' as Freestyler.AgentType,
|
55
|
+
history: [],
|
56
|
+
},
|
57
|
+
],
|
58
|
+
);
|
59
|
+
});
|
60
|
+
|
61
|
+
it('should update history entries correctly', async () => {
|
62
|
+
const storage = Freestyler.AiHistoryStorage.instance();
|
63
|
+
await storage.upsertHistoryEntry(agent1);
|
64
|
+
await storage.upsertHistoryEntry(agent2);
|
65
|
+
await storage.upsertHistoryEntry({
|
66
|
+
...agent1,
|
67
|
+
history: [
|
68
|
+
{
|
69
|
+
type: Freestyler.ResponseType.USER_QUERY,
|
70
|
+
query: 'text',
|
71
|
+
},
|
72
|
+
],
|
73
|
+
});
|
74
|
+
assert.deepEqual(
|
75
|
+
storage.getHistory(),
|
76
|
+
[
|
77
|
+
{
|
78
|
+
id: 'id1',
|
79
|
+
type: 'freestyler' as Freestyler.AgentType,
|
80
|
+
history: [
|
81
|
+
{
|
82
|
+
type: Freestyler.ResponseType.USER_QUERY,
|
83
|
+
query: 'text',
|
84
|
+
},
|
85
|
+
],
|
86
|
+
},
|
87
|
+
{
|
88
|
+
id: 'id2',
|
89
|
+
type: 'drjones-file' as Freestyler.AgentType,
|
90
|
+
history: [],
|
91
|
+
},
|
92
|
+
],
|
93
|
+
);
|
94
|
+
|
95
|
+
await storage.upsertHistoryEntry(agent3);
|
96
|
+
assert.deepEqual(
|
97
|
+
storage.getHistory(),
|
98
|
+
[
|
99
|
+
{
|
100
|
+
id: 'id1',
|
101
|
+
type: 'freestyler' as Freestyler.AgentType,
|
102
|
+
history: [
|
103
|
+
{
|
104
|
+
type: Freestyler.ResponseType.USER_QUERY,
|
105
|
+
query: 'text',
|
106
|
+
},
|
107
|
+
],
|
108
|
+
},
|
109
|
+
{
|
110
|
+
id: 'id2',
|
111
|
+
type: 'drjones-file' as Freestyler.AgentType,
|
112
|
+
history: [],
|
113
|
+
},
|
114
|
+
{
|
115
|
+
id: 'id3',
|
116
|
+
type: 'drjones-network-request' as Freestyler.AgentType,
|
117
|
+
history: [],
|
118
|
+
},
|
119
|
+
],
|
120
|
+
);
|
121
|
+
});
|
122
|
+
|
123
|
+
it('should delete a single entry', async () => {
|
124
|
+
const storage = Freestyler.AiHistoryStorage.instance();
|
125
|
+
await storage.upsertHistoryEntry(agent1);
|
126
|
+
await storage.upsertHistoryEntry(agent2);
|
127
|
+
await storage.upsertHistoryEntry(agent3);
|
128
|
+
await storage.deleteHistoryEntry('id2');
|
129
|
+
assert.deepEqual(
|
130
|
+
storage.getHistory(),
|
131
|
+
[
|
132
|
+
{
|
133
|
+
id: 'id1',
|
134
|
+
type: 'freestyler' as Freestyler.AgentType,
|
135
|
+
history: [
|
136
|
+
|
137
|
+
],
|
138
|
+
},
|
139
|
+
{
|
140
|
+
id: 'id3',
|
141
|
+
type: 'drjones-network-request' as Freestyler.AgentType,
|
142
|
+
history: [],
|
143
|
+
},
|
144
|
+
],
|
145
|
+
);
|
146
|
+
});
|
147
|
+
|
148
|
+
it('should delete all entries', async () => {
|
149
|
+
const storage = Freestyler.AiHistoryStorage.instance();
|
150
|
+
await storage.upsertHistoryEntry(agent1);
|
151
|
+
await storage.upsertHistoryEntry(agent2);
|
152
|
+
await storage.upsertHistoryEntry(agent3);
|
153
|
+
await storage.deleteAll();
|
154
|
+
assert.deepEqual(
|
155
|
+
storage.getHistory(),
|
156
|
+
[],
|
157
|
+
);
|
158
|
+
});
|
159
|
+
});
|
@@ -0,0 +1,73 @@
|
|
1
|
+
|
2
|
+
// Copyright 2024 The Chromium Authors. All rights reserved.
|
3
|
+
// Use of this source code is governed by a BSD-style license that can be
|
4
|
+
// found in the LICENSE file.
|
5
|
+
|
6
|
+
import * as Common from '../../core/common/common.js';
|
7
|
+
|
8
|
+
import type {SerializedAgent} from './AiAgent.js';
|
9
|
+
|
10
|
+
let instance: AiHistoryStorage|null = null;
|
11
|
+
export class AiHistoryStorage {
|
12
|
+
#historySetting: Common.Settings.Setting<SerializedAgent[]>;
|
13
|
+
#mutex = new Common.Mutex.Mutex();
|
14
|
+
|
15
|
+
constructor() {
|
16
|
+
this.#historySetting = Common.Settings.Settings.instance().createSetting(
|
17
|
+
'ai-assistance-history-entries',
|
18
|
+
[],
|
19
|
+
);
|
20
|
+
}
|
21
|
+
|
22
|
+
clearForTest(): void {
|
23
|
+
this.#historySetting.set([]);
|
24
|
+
}
|
25
|
+
|
26
|
+
async upsertHistoryEntry(agentEntry: SerializedAgent): Promise<void> {
|
27
|
+
const release = await this.#mutex.acquire();
|
28
|
+
try {
|
29
|
+
const history = await this.#historySetting.forceGet();
|
30
|
+
const historyEntryIndex = history.findIndex(entry => entry.id === agentEntry.id);
|
31
|
+
if (historyEntryIndex !== -1) {
|
32
|
+
history[historyEntryIndex] = agentEntry;
|
33
|
+
} else {
|
34
|
+
history.push(agentEntry);
|
35
|
+
}
|
36
|
+
this.#historySetting.set(history);
|
37
|
+
} finally {
|
38
|
+
release();
|
39
|
+
}
|
40
|
+
}
|
41
|
+
|
42
|
+
async deleteHistoryEntry(id: string): Promise<void> {
|
43
|
+
const release = await this.#mutex.acquire();
|
44
|
+
try {
|
45
|
+
const history = await this.#historySetting.forceGet();
|
46
|
+
this.#historySetting.set(
|
47
|
+
history.filter(entry => entry.id !== id),
|
48
|
+
);
|
49
|
+
} finally {
|
50
|
+
release();
|
51
|
+
}
|
52
|
+
}
|
53
|
+
|
54
|
+
async deleteAll(): Promise<void> {
|
55
|
+
const release = await this.#mutex.acquire();
|
56
|
+
try {
|
57
|
+
this.#historySetting.set([]);
|
58
|
+
} finally {
|
59
|
+
release();
|
60
|
+
}
|
61
|
+
}
|
62
|
+
|
63
|
+
getHistory(): SerializedAgent[] {
|
64
|
+
return this.#historySetting.get();
|
65
|
+
}
|
66
|
+
|
67
|
+
static instance(): AiHistoryStorage {
|
68
|
+
if (!instance) {
|
69
|
+
instance = new AiHistoryStorage();
|
70
|
+
}
|
71
|
+
return instance;
|
72
|
+
}
|
73
|
+
}
|
@@ -16,7 +16,7 @@ import {describeWithMockConnection} from '../../testing/MockConnection.js';
|
|
16
16
|
import {loadBasicSourceMapExample} from '../../testing/SourceMapHelpers.js';
|
17
17
|
import {createContentProviderUISourceCodes} from '../../testing/UISourceCodeHelpers.js';
|
18
18
|
|
19
|
-
import {DrJonesFileAgent, formatSourceMapDetails, ResponseType} from './freestyler.js';
|
19
|
+
import {DrJonesFileAgent, FileContext, formatFile, formatSourceMapDetails, ResponseType} from './freestyler.js';
|
20
20
|
|
21
21
|
describeWithMockConnection('DrJonesFileAgent', () => {
|
22
22
|
function mockHostConfig(modelId?: string, temperature?: number) {
|
@@ -84,21 +84,20 @@ describeWithMockConnection('DrJonesFileAgent', () => {
|
|
84
84
|
serverSideLoggingEnabled: true,
|
85
85
|
});
|
86
86
|
sinon.stub(agent, 'preamble').value('preamble');
|
87
|
-
agent.chatNewHistoryForTesting =
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
]);
|
87
|
+
agent.chatNewHistoryForTesting = [
|
88
|
+
{
|
89
|
+
type: ResponseType.USER_QUERY,
|
90
|
+
query: 'question',
|
91
|
+
},
|
92
|
+
{
|
93
|
+
type: ResponseType.QUERYING,
|
94
|
+
query: 'question',
|
95
|
+
},
|
96
|
+
{
|
97
|
+
type: ResponseType.ANSWER,
|
98
|
+
text: 'answer',
|
99
|
+
},
|
100
|
+
];
|
102
101
|
assert.deepStrictEqual(
|
103
102
|
agent.buildRequest({
|
104
103
|
input: 'test input',
|
@@ -133,6 +132,34 @@ describeWithMockConnection('DrJonesFileAgent', () => {
|
|
133
132
|
});
|
134
133
|
});
|
135
134
|
|
135
|
+
async function createUISourceCode(options?: {
|
136
|
+
content?: string,
|
137
|
+
mimeType?: string,
|
138
|
+
url?: Platform.DevToolsPath.UrlString,
|
139
|
+
resourceType?: Common.ResourceType.ResourceType,
|
140
|
+
}): Promise<Workspace.UISourceCode.UISourceCode> {
|
141
|
+
const url = options?.url ?? 'http://example.test/script.js' as Platform.DevToolsPath.UrlString;
|
142
|
+
const {project} = createContentProviderUISourceCodes({
|
143
|
+
items: [
|
144
|
+
{
|
145
|
+
url,
|
146
|
+
mimeType: options?.mimeType ?? 'application/javascript',
|
147
|
+
resourceType: options?.resourceType ?? Common.ResourceType.resourceTypes.Script,
|
148
|
+
content: options?.content ?? undefined,
|
149
|
+
},
|
150
|
+
],
|
151
|
+
target: createTarget(),
|
152
|
+
});
|
153
|
+
|
154
|
+
const uiSourceCode = project.uiSourceCodeForURL(url);
|
155
|
+
|
156
|
+
if (!uiSourceCode) {
|
157
|
+
throw new Error('Failed to create a test uiSourceCode');
|
158
|
+
}
|
159
|
+
await uiSourceCode.requestContentData();
|
160
|
+
return uiSourceCode;
|
161
|
+
}
|
162
|
+
|
136
163
|
describe('run', () => {
|
137
164
|
it('generates an answer', async () => {
|
138
165
|
async function* generateAnswer() {
|
@@ -149,20 +176,9 @@ describeWithMockConnection('DrJonesFileAgent', () => {
|
|
149
176
|
aidaClient: mockAidaClient(generateAnswer),
|
150
177
|
});
|
151
178
|
|
152
|
-
const
|
153
|
-
const
|
154
|
-
|
155
|
-
{
|
156
|
-
url,
|
157
|
-
mimeType: 'application/javascript',
|
158
|
-
resourceType: Common.ResourceType.resourceTypes.Script,
|
159
|
-
},
|
160
|
-
],
|
161
|
-
target: createTarget(),
|
162
|
-
});
|
163
|
-
|
164
|
-
const uiSourceCode = project.uiSourceCodeForURL(url);
|
165
|
-
const responses = await Array.fromAsync(agent.run('test', {selected: uiSourceCode}));
|
179
|
+
const uiSourceCode = await createUISourceCode();
|
180
|
+
const responses =
|
181
|
+
await Array.fromAsync(agent.run('test', {selected: uiSourceCode ? new FileContext(uiSourceCode) : null}));
|
166
182
|
|
167
183
|
assert.deepStrictEqual(responses, [
|
168
184
|
{
|
@@ -175,17 +191,28 @@ describeWithMockConnection('DrJonesFileAgent', () => {
|
|
175
191
|
details: [
|
176
192
|
{
|
177
193
|
title: 'Selected file',
|
178
|
-
text: `File
|
179
|
-
URL: http://example.
|
180
|
-
File
|
194
|
+
text: `File name: script.js
|
195
|
+
URL: http://example.test/script.js
|
196
|
+
File content:
|
197
|
+
\`\`\`
|
198
|
+
|
181
199
|
\`\`\``,
|
182
200
|
},
|
183
201
|
],
|
184
202
|
},
|
185
203
|
{
|
186
204
|
type: ResponseType.QUERYING,
|
187
|
-
query:
|
188
|
-
|
205
|
+
query: `# Selected file
|
206
|
+
File name: script.js
|
207
|
+
URL: http://example.test/script.js
|
208
|
+
File content:
|
209
|
+
\`\`\`
|
210
|
+
|
211
|
+
\`\`\`
|
212
|
+
|
213
|
+
# User request
|
214
|
+
|
215
|
+
test`,
|
189
216
|
},
|
190
217
|
{
|
191
218
|
type: ResponseType.ANSWER,
|
@@ -198,9 +225,17 @@ File Content:\n\`\`\`
|
|
198
225
|
assert.deepStrictEqual(agent.chatHistoryForTesting, [
|
199
226
|
{
|
200
227
|
entity: 1,
|
201
|
-
text: `# Selected file
|
202
|
-
|
203
|
-
|
228
|
+
text: `# Selected file
|
229
|
+
File name: script.js
|
230
|
+
URL: http://example.test/script.js
|
231
|
+
File content:
|
232
|
+
\`\`\`
|
233
|
+
|
234
|
+
\`\`\`
|
235
|
+
|
236
|
+
# User request
|
237
|
+
|
238
|
+
test`,
|
204
239
|
},
|
205
240
|
{
|
206
241
|
entity: 2,
|
@@ -225,4 +260,44 @@ File Content:\n\`\`\`\n\`\`\`\n\n# User request\n\ntest`,
|
|
225
260
|
assert.strictEqual(response, 'Source map: file://gen.js.map');
|
226
261
|
});
|
227
262
|
});
|
263
|
+
|
264
|
+
describe('formatFile', () => {
|
265
|
+
it('formats file content', async () => {
|
266
|
+
const uiSourceCode = await createUISourceCode({
|
267
|
+
content: 'lorem ipsum',
|
268
|
+
});
|
269
|
+
assert.strictEqual(formatFile(uiSourceCode), `File name: script.js
|
270
|
+
URL: http://example.test/script.js
|
271
|
+
File content:
|
272
|
+
\`\`\`
|
273
|
+
lorem ipsum
|
274
|
+
\`\`\``);
|
275
|
+
});
|
276
|
+
|
277
|
+
it('formats file content of a binary file', async () => {
|
278
|
+
const uiSourceCode = await createUISourceCode({
|
279
|
+
resourceType: Common.ResourceType.resourceTypes.Image,
|
280
|
+
mimeType: 'application/png',
|
281
|
+
url: 'http://example.test/test.png' as Platform.DevToolsPath.UrlString,
|
282
|
+
});
|
283
|
+
assert.strictEqual(formatFile(uiSourceCode), `File name: test.png
|
284
|
+
URL: http://example.test/test.png
|
285
|
+
File content:
|
286
|
+
\`\`\`
|
287
|
+
<binary data>
|
288
|
+
\`\`\``);
|
289
|
+
});
|
290
|
+
|
291
|
+
it('truncates long file content', async () => {
|
292
|
+
const uiSourceCode = await createUISourceCode({
|
293
|
+
content: 'lorem ipsum'.repeat(10_000),
|
294
|
+
});
|
295
|
+
assert.strictEqual(formatFile(uiSourceCode), `File name: script.js
|
296
|
+
URL: http://example.test/script.js
|
297
|
+
File content:
|
298
|
+
\`\`\`
|
299
|
+
lorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsumlorem ipsuml...
|
300
|
+
\`\`\``);
|
301
|
+
});
|
302
|
+
});
|
228
303
|
});
|
@@ -7,14 +7,16 @@ import * as Host from '../../core/host/host.js';
|
|
7
7
|
import * as i18n from '../../core/i18n/i18n.js';
|
8
8
|
import * as Bindings from '../../models/bindings/bindings.js';
|
9
9
|
import type * as Workspace from '../../models/workspace/workspace.js';
|
10
|
+
import * as PanelUtils from '../utils/utils.js';
|
10
11
|
|
11
12
|
import {
|
12
13
|
AgentType,
|
13
14
|
AiAgent,
|
14
|
-
type AidaRequestOptions,
|
15
15
|
type ContextDetail,
|
16
16
|
type ContextResponse,
|
17
|
+
ConversationContext,
|
17
18
|
type ParsedResponse,
|
19
|
+
type RequestOptions,
|
18
20
|
ResponseType,
|
19
21
|
} from './AiAgent.js';
|
20
22
|
|
@@ -69,24 +71,47 @@ const lockedString = i18n.i18n.lockedString;
|
|
69
71
|
|
70
72
|
const MAX_FILE_SIZE = 10000;
|
71
73
|
|
74
|
+
export class FileContext extends ConversationContext<Workspace.UISourceCode.UISourceCode> {
|
75
|
+
#file: Workspace.UISourceCode.UISourceCode;
|
76
|
+
|
77
|
+
constructor(file: Workspace.UISourceCode.UISourceCode) {
|
78
|
+
super();
|
79
|
+
this.#file = file;
|
80
|
+
}
|
81
|
+
|
82
|
+
override getOrigin(): string {
|
83
|
+
return new URL(this.#file.url()).origin;
|
84
|
+
}
|
85
|
+
|
86
|
+
override getItem(): Workspace.UISourceCode.UISourceCode {
|
87
|
+
return this.#file;
|
88
|
+
}
|
89
|
+
|
90
|
+
override getIcon(): HTMLElement {
|
91
|
+
return PanelUtils.PanelUtils.getIconForSourceFile(this.#file);
|
92
|
+
}
|
93
|
+
|
94
|
+
override getTitle(): string {
|
95
|
+
return this.#file.displayName();
|
96
|
+
}
|
97
|
+
}
|
98
|
+
|
72
99
|
/**
|
73
100
|
* One agent instance handles one conversation. Create a new agent
|
74
101
|
* instance for a new conversation.
|
75
102
|
*/
|
76
103
|
export class DrJonesFileAgent extends AiAgent<Workspace.UISourceCode.UISourceCode> {
|
77
|
-
override type = AgentType.DRJONES_FILE;
|
104
|
+
override readonly type = AgentType.DRJONES_FILE;
|
78
105
|
readonly preamble = preamble;
|
79
106
|
readonly clientFeature = Host.AidaClient.ClientFeature.CHROME_DRJONES_FILE_AGENT;
|
80
107
|
get userTier(): string|undefined {
|
81
108
|
const config = Common.Settings.Settings.instance().getHostConfig();
|
82
|
-
return config.devToolsAiAssistanceFileAgent?.userTier
|
109
|
+
return config.devToolsAiAssistanceFileAgent?.userTier;
|
83
110
|
}
|
84
|
-
get options():
|
111
|
+
get options(): RequestOptions {
|
85
112
|
const config = Common.Settings.Settings.instance().getHostConfig();
|
86
|
-
const temperature =
|
87
|
-
|
88
|
-
const modelId =
|
89
|
-
config.devToolsAiAssistanceFileAgent?.modelId ?? config.devToolsAiAssistanceFileAgentDogfood?.modelId;
|
113
|
+
const temperature = config.devToolsAiAssistanceFileAgent?.temperature;
|
114
|
+
const modelId = config.devToolsAiAssistanceFileAgent?.modelId;
|
90
115
|
|
91
116
|
return {
|
92
117
|
temperature,
|
@@ -95,7 +120,7 @@ export class DrJonesFileAgent extends AiAgent<Workspace.UISourceCode.UISourceCod
|
|
95
120
|
}
|
96
121
|
|
97
122
|
async *
|
98
|
-
handleContextDetails(selectedFile: Workspace.UISourceCode.UISourceCode
|
123
|
+
handleContextDetails(selectedFile: ConversationContext<Workspace.UISourceCode.UISourceCode>|null):
|
99
124
|
AsyncGenerator<ContextResponse, void, void> {
|
100
125
|
if (!selectedFile) {
|
101
126
|
return;
|
@@ -108,9 +133,10 @@ export class DrJonesFileAgent extends AiAgent<Workspace.UISourceCode.UISourceCod
|
|
108
133
|
};
|
109
134
|
}
|
110
135
|
|
111
|
-
override async enhanceQuery(
|
136
|
+
override async enhanceQuery(
|
137
|
+
query: string, selectedFile: ConversationContext<Workspace.UISourceCode.UISourceCode>|null): Promise<string> {
|
112
138
|
const fileEnchantmentQuery =
|
113
|
-
selectedFile ? `# Selected file\n${formatFile(selectedFile)}\n\n# User request\n\n` : '';
|
139
|
+
selectedFile ? `# Selected file\n${formatFile(selectedFile.getItem())}\n\n# User request\n\n` : '';
|
114
140
|
return `${fileEnchantmentQuery}${query}`;
|
115
141
|
}
|
116
142
|
|
@@ -121,28 +147,35 @@ export class DrJonesFileAgent extends AiAgent<Workspace.UISourceCode.UISourceCod
|
|
121
147
|
}
|
122
148
|
}
|
123
149
|
|
124
|
-
function createContextDetailsForDrJonesFileAgent(
|
125
|
-
[ContextDetail, ...ContextDetail[]] {
|
150
|
+
function createContextDetailsForDrJonesFileAgent(
|
151
|
+
selectedFile: ConversationContext<Workspace.UISourceCode.UISourceCode>): [ContextDetail, ...ContextDetail[]] {
|
126
152
|
return [
|
127
153
|
{
|
128
154
|
title: 'Selected file',
|
129
|
-
text: formatFile(selectedFile),
|
155
|
+
text: formatFile(selectedFile.getItem()),
|
130
156
|
},
|
131
157
|
];
|
132
158
|
}
|
133
159
|
|
134
|
-
function formatFile(selectedFile: Workspace.UISourceCode.UISourceCode): string {
|
160
|
+
export function formatFile(selectedFile: Workspace.UISourceCode.UISourceCode): string {
|
135
161
|
const debuggerWorkspaceBinding = Bindings.DebuggerWorkspaceBinding.DebuggerWorkspaceBinding.instance();
|
136
|
-
|
137
|
-
|
138
|
-
${
|
139
|
-
|
140
|
-
|
162
|
+
const sourceMapDetails = formatSourceMapDetails(selectedFile, debuggerWorkspaceBinding);
|
163
|
+
const lines = [
|
164
|
+
`File name: ${selectedFile.displayName()}`,
|
165
|
+
`URL: ${selectedFile.url()}`,
|
166
|
+
sourceMapDetails,
|
167
|
+
`File content:
|
168
|
+
${formatFileContent(selectedFile)}`,
|
169
|
+
];
|
170
|
+
return lines.filter(line => line.trim() !== '').join('\n');
|
141
171
|
}
|
142
172
|
|
143
|
-
function formatFileContent(
|
144
|
-
const
|
145
|
-
|
173
|
+
function formatFileContent(selectedFile: Workspace.UISourceCode.UISourceCode): string {
|
174
|
+
const content = selectedFile.contentType().isTextType() ? selectedFile.content() : '<binary data>';
|
175
|
+
const truncated = content.length > MAX_FILE_SIZE ? content.slice(0, MAX_FILE_SIZE) + '...' : content;
|
176
|
+
return `\`\`\`
|
177
|
+
${truncated}
|
178
|
+
\`\`\``;
|
146
179
|
}
|
147
180
|
|
148
181
|
export function formatSourceMapDetails(
|
@@ -179,14 +212,3 @@ export function formatSourceMapDetails(
|
|
179
212
|
}
|
180
213
|
return sourceMapDetails;
|
181
214
|
}
|
182
|
-
|
183
|
-
function setDebugFreestylerEnabled(enabled: boolean): void {
|
184
|
-
if (enabled) {
|
185
|
-
localStorage.setItem('debugFreestylerEnabled', 'true');
|
186
|
-
} else {
|
187
|
-
localStorage.removeItem('debugFreestylerEnabled');
|
188
|
-
}
|
189
|
-
}
|
190
|
-
|
191
|
-
// @ts-ignore
|
192
|
-
globalThis.setDebugFreestylerEnabled = setDebugFreestylerEnabled;
|