chrome-devtools-frontend 1.0.1367881 → 1.0.1376716
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/.vscode/extensions.json +4 -4
- package/config/gni/devtools_grd_files.gni +30 -8
- package/config/gni/devtools_image_files.gni +3 -0
- package/docs/README.md +1 -5
- package/docs/checklist/javascript.md +45 -8
- package/docs/contributing/design.md +1 -1
- package/docs/contributing/settings-experiments-features.md +1 -1
- package/docs/cookbook/README.md +12 -0
- package/docs/cookbook/create_new_issues.md +91 -0
- package/docs/cookbook/dependencies.md +103 -0
- package/docs/cookbook/localization.md +320 -0
- package/docs/cookbook/navbar.md +8 -0
- package/docs/cookbook/release_management.md +60 -0
- package/docs/cookbook/uma_metrics.md +121 -0
- package/docs/dependencies.md +1 -100
- package/docs/l10n.md +1 -295
- package/docs/release_management.md +1 -53
- package/extensions/cxx_debugging/e2e/standalone/MemoryInspector_test.ts +1 -1
- package/extensions/cxx_debugging/e2e/tsconfig.json +1 -0
- package/extensions/cxx_debugging/src/ExtensionOptions.ts +6 -7
- package/extensions/cxx_debugging/tests/CreditsItem_test.ts +4 -4
- package/front_end/.eslintrc.js +0 -1
- package/front_end/Images/src/center-focus-weak.svg +1 -0
- package/front_end/Images/src/history.svg +3 -0
- package/front_end/Images/src/home.svg +1 -0
- package/front_end/core/common/Color.ts +10 -0
- package/front_end/core/common/ResourceType.test.ts +26 -26
- package/front_end/core/common/ResourceType.ts +21 -12
- package/front_end/core/common/Revealer.ts +5 -0
- package/front_end/core/common/Settings.ts +5 -1
- package/front_end/core/host/AidaClient.ts +58 -0
- package/front_end/core/host/InspectorFrontendHost.ts +1 -1
- package/front_end/core/host/InspectorFrontendHostAPI.ts +8 -1
- package/front_end/core/host/UserMetrics.ts +16 -13
- package/front_end/core/i18n/locales/af.json +598 -109
- package/front_end/core/i18n/locales/am.json +607 -118
- package/front_end/core/i18n/locales/ar.json +888 -399
- package/front_end/core/i18n/locales/as.json +603 -114
- package/front_end/core/i18n/locales/az.json +606 -117
- package/front_end/core/i18n/locales/be.json +599 -110
- package/front_end/core/i18n/locales/bg.json +598 -109
- package/front_end/core/i18n/locales/bn.json +609 -120
- package/front_end/core/i18n/locales/bs.json +607 -118
- package/front_end/core/i18n/locales/ca.json +601 -112
- package/front_end/core/i18n/locales/cs.json +605 -116
- package/front_end/core/i18n/locales/cy.json +603 -114
- package/front_end/core/i18n/locales/da.json +599 -110
- package/front_end/core/i18n/locales/de.json +604 -115
- package/front_end/core/i18n/locales/el.json +596 -107
- package/front_end/core/i18n/locales/en-GB.json +599 -110
- package/front_end/core/i18n/locales/es-419.json +600 -111
- package/front_end/core/i18n/locales/es.json +602 -113
- package/front_end/core/i18n/locales/et.json +601 -112
- package/front_end/core/i18n/locales/eu.json +605 -116
- package/front_end/core/i18n/locales/fa.json +609 -120
- package/front_end/core/i18n/locales/fi.json +598 -109
- package/front_end/core/i18n/locales/fil.json +605 -116
- package/front_end/core/i18n/locales/fr-CA.json +602 -113
- package/front_end/core/i18n/locales/fr.json +600 -111
- package/front_end/core/i18n/locales/gl.json +595 -106
- package/front_end/core/i18n/locales/gu.json +605 -116
- package/front_end/core/i18n/locales/he.json +603 -114
- package/front_end/core/i18n/locales/hi.json +600 -111
- package/front_end/core/i18n/locales/hr.json +600 -111
- package/front_end/core/i18n/locales/hu.json +600 -111
- package/front_end/core/i18n/locales/hy.json +599 -110
- package/front_end/core/i18n/locales/id.json +603 -114
- package/front_end/core/i18n/locales/is.json +598 -109
- package/front_end/core/i18n/locales/it.json +602 -113
- package/front_end/core/i18n/locales/ja.json +596 -107
- package/front_end/core/i18n/locales/ka.json +597 -108
- package/front_end/core/i18n/locales/kk.json +884 -395
- package/front_end/core/i18n/locales/km.json +605 -116
- package/front_end/core/i18n/locales/kn.json +606 -117
- package/front_end/core/i18n/locales/ko.json +591 -102
- package/front_end/core/i18n/locales/ky.json +599 -110
- package/front_end/core/i18n/locales/lo.json +608 -119
- package/front_end/core/i18n/locales/lt.json +597 -108
- package/front_end/core/i18n/locales/lv.json +606 -117
- package/front_end/core/i18n/locales/mk.json +885 -396
- package/front_end/core/i18n/locales/ml.json +601 -112
- package/front_end/core/i18n/locales/mn.json +599 -110
- package/front_end/core/i18n/locales/mr.json +601 -112
- package/front_end/core/i18n/locales/ms.json +602 -113
- package/front_end/core/i18n/locales/my.json +604 -115
- package/front_end/core/i18n/locales/ne.json +609 -120
- package/front_end/core/i18n/locales/nl.json +597 -108
- package/front_end/core/i18n/locales/no.json +601 -112
- package/front_end/core/i18n/locales/or.json +601 -112
- package/front_end/core/i18n/locales/pa.json +600 -111
- package/front_end/core/i18n/locales/pl.json +601 -112
- package/front_end/core/i18n/locales/pt-PT.json +600 -111
- package/front_end/core/i18n/locales/pt.json +596 -107
- package/front_end/core/i18n/locales/ro.json +601 -112
- package/front_end/core/i18n/locales/ru.json +609 -120
- package/front_end/core/i18n/locales/si.json +603 -114
- package/front_end/core/i18n/locales/sk.json +599 -110
- package/front_end/core/i18n/locales/sl.json +601 -112
- package/front_end/core/i18n/locales/sq.json +602 -113
- package/front_end/core/i18n/locales/sr-Latn.json +598 -109
- package/front_end/core/i18n/locales/sr.json +598 -109
- package/front_end/core/i18n/locales/sv.json +600 -111
- package/front_end/core/i18n/locales/sw.json +606 -117
- package/front_end/core/i18n/locales/ta.json +892 -403
- package/front_end/core/i18n/locales/te.json +604 -115
- package/front_end/core/i18n/locales/th.json +597 -108
- package/front_end/core/i18n/locales/tr.json +601 -112
- package/front_end/core/i18n/locales/uk.json +598 -109
- package/front_end/core/i18n/locales/ur.json +604 -115
- package/front_end/core/i18n/locales/uz.json +599 -110
- package/front_end/core/i18n/locales/vi.json +602 -113
- package/front_end/core/i18n/locales/zh-HK.json +599 -110
- package/front_end/core/i18n/locales/zh-TW.json +595 -106
- package/front_end/core/i18n/locales/zh.json +601 -112
- package/front_end/core/i18n/locales/zu.json +607 -118
- package/front_end/core/root/Runtime.ts +15 -7
- package/front_end/{panels/animation → core/sdk}/AnimationModel.test.ts +85 -6
- package/front_end/{panels/animation → core/sdk}/AnimationModel.ts +302 -36
- package/front_end/core/sdk/CSSContainerQuery.ts +4 -2
- package/front_end/core/sdk/CSSMatchedStyles.test.ts +4 -0
- package/front_end/core/sdk/CSSMatchedStyles.ts +13 -10
- package/front_end/core/sdk/CSSMetadata.ts +6 -0
- package/front_end/core/sdk/CSSStyleDeclaration.test.ts +10 -0
- package/front_end/core/sdk/CSSStyleDeclaration.ts +1 -1
- package/front_end/core/sdk/DOMModel.ts +3 -3
- package/front_end/core/sdk/DebuggerModel.test.ts +2 -0
- package/front_end/core/sdk/EmulationModel.ts +32 -0
- package/front_end/core/sdk/EnhancedTracesParser.test.ts +4 -4
- package/front_end/core/sdk/EnhancedTracesParser.ts +4 -5
- package/front_end/core/sdk/RehydratingConnection.test.ts +190 -0
- package/front_end/core/sdk/RehydratingConnection.ts +310 -0
- package/front_end/core/sdk/RehydratingObject.ts +26 -2
- package/front_end/core/sdk/RuntimeModel.ts +31 -0
- package/front_end/core/sdk/Script.ts +1 -1
- package/front_end/core/sdk/TraceObject.ts +8 -0
- package/front_end/core/sdk/sdk.ts +2 -0
- package/front_end/devtools_compatibility.js +0 -1
- package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshot.ts +95 -74
- package/front_end/entrypoints/main/MainImpl.ts +10 -0
- package/front_end/generated/InspectorBackendCommands.js +10 -9
- package/front_end/generated/SupportedCSSProperties.js +15 -1
- package/front_end/generated/protocol-mapping.d.ts +4 -3
- package/front_end/generated/protocol-proxy-api.d.ts +4 -3
- package/front_end/generated/protocol.ts +31 -2
- package/front_end/legacy_test_runner/network_test_runner/network_test_runner.js +1 -0
- package/front_end/models/har/HARFormat.ts +1 -0
- package/front_end/models/har/Importer.test.ts +16 -2
- package/front_end/models/har/Importer.ts +2 -2
- package/front_end/models/har/Log.test.ts +23 -0
- package/front_end/models/har/Log.ts +6 -4
- package/front_end/models/heap_snapshot_model/HeapSnapshotModel.ts +4 -2
- package/front_end/models/issues_manager/AttributionReportingIssue.ts +58 -18
- package/front_end/models/issues_manager/CookieIssue.ts +12 -0
- package/front_end/models/issues_manager/descriptions/arInvalidInfoHeader.md +5 -0
- package/front_end/models/issues_manager/descriptions/arNavigationRegistrationUniqueScopeAlreadySet.md +5 -0
- package/front_end/models/issues_manager/descriptions/arNoRegisterOsSourceHeader.md +5 -0
- package/front_end/models/issues_manager/descriptions/arNoRegisterOsTriggerHeader.md +5 -0
- package/front_end/models/issues_manager/descriptions/arNoRegisterSourceHeader.md +5 -0
- package/front_end/models/issues_manager/descriptions/arNoRegisterTriggerHeader.md +5 -0
- package/front_end/models/issues_manager/descriptions/arNoWebOrOsSupport.md +4 -0
- package/front_end/models/issues_manager/descriptions/placeholderDescriptionForInvisibleIssues.md +3 -0
- package/front_end/models/javascript_metadata/NativeFunctions.js +69 -18
- package/front_end/models/live-metrics/LiveMetrics.ts +116 -19
- package/front_end/models/live-metrics/web-vitals-injected/OnEachInteraction.ts +24 -61
- package/front_end/models/live-metrics/web-vitals-injected/spec/spec.ts +49 -21
- package/front_end/models/live-metrics/web-vitals-injected/web-vitals-injected.ts +43 -5
- package/front_end/models/timeline_model/TimelineModelFilter.ts +2 -2
- package/front_end/models/trace/Processor.ts +5 -1
- package/front_end/models/trace/extras/ThirdParties.test.ts +117 -0
- package/front_end/models/trace/extras/ThirdParties.ts +207 -0
- package/front_end/models/trace/extras/extras.ts +1 -0
- package/front_end/models/trace/handlers/FramesHandler.ts +12 -5
- package/front_end/models/trace/handlers/InitiatorsHandler.test.ts +40 -0
- package/front_end/models/trace/handlers/InitiatorsHandler.ts +9 -0
- package/front_end/models/trace/handlers/LayoutShiftsHandler.ts +17 -0
- package/front_end/models/trace/handlers/NetworkRequestsHandler.ts +2 -2
- package/front_end/models/trace/handlers/RendererHandler.test.ts +4 -4
- package/front_end/models/trace/helpers/Timing.test.ts +29 -0
- package/front_end/models/trace/helpers/Timing.ts +18 -0
- package/front_end/models/trace/helpers/TreeHelpers.test.ts +52 -34
- package/front_end/models/trace/helpers/TreeHelpers.ts +135 -45
- package/front_end/models/trace/insights/CumulativeLayoutShift.test.ts +22 -0
- package/front_end/models/trace/insights/CumulativeLayoutShift.ts +62 -20
- package/front_end/models/trace/insights/ThirdPartyWeb.ts +13 -183
- package/front_end/models/trace/lantern/core/NetworkAnalyzer.test.ts +4 -4
- package/front_end/models/trace/lantern/core/NetworkAnalyzer.ts +9 -5
- package/front_end/models/trace/lantern/simulation/Simulator.ts +1 -1
- package/front_end/models/trace/lantern/testing/MetricTestUtils.ts +4 -0
- package/front_end/models/trace/types/TraceEvents.ts +68 -2
- package/front_end/panels/accessibility/AccessibilitySidebarView.ts +1 -1
- package/front_end/panels/animation/AnimationGroupPreviewUI.ts +3 -3
- package/front_end/panels/animation/AnimationTimeline.test.ts +15 -15
- package/front_end/panels/animation/AnimationTimeline.ts +85 -53
- package/front_end/panels/animation/AnimationUI.ts +5 -6
- package/front_end/panels/animation/animation-meta.ts +15 -0
- package/front_end/panels/animation/animation.ts +0 -4
- package/front_end/panels/application/ApplicationPanelSidebar.test.ts +16 -0
- package/front_end/panels/application/ApplicationPanelSidebar.ts +13 -9
- package/front_end/panels/application/ExtensionStorageItemsView.test.ts +72 -0
- package/front_end/panels/application/ExtensionStorageItemsView.ts +23 -1
- package/front_end/panels/application/ExtensionStorageModel.test.ts +15 -0
- package/front_end/panels/application/ExtensionStorageModel.ts +10 -1
- package/front_end/panels/application/OpenedWindowDetailsView.ts +2 -3
- package/front_end/panels/application/SharedStorageItemsView.test.ts +1 -20
- package/front_end/panels/application/components/BackForwardCacheStrings.ts +1 -0
- package/front_end/panels/application/components/BounceTrackingMitigationsView.ts +3 -7
- package/front_end/panels/application/components/EndpointsGrid.ts +1 -2
- package/front_end/panels/application/components/FrameDetailsView.ts +8 -8
- package/front_end/panels/application/components/InterestGroupAccessGrid.ts +4 -8
- package/front_end/panels/application/components/PermissionsPolicySection.ts +3 -4
- package/front_end/panels/application/components/ReportsGrid.ts +2 -4
- package/front_end/panels/application/components/SharedStorageAccessGrid.ts +4 -9
- package/front_end/panels/application/components/StackTrace.ts +6 -9
- package/front_end/panels/application/components/StorageMetadataView.ts +1 -2
- package/front_end/panels/application/components/TrustTokensView.ts +1 -2
- package/front_end/panels/application/preloading/PreloadingView.ts +5 -5
- package/front_end/panels/application/preloading/components/MismatchedPreloadingGrid.test.ts +2 -2
- package/front_end/panels/application/preloading/components/MismatchedPreloadingGrid.ts +3 -9
- package/front_end/panels/application/preloading/components/PreloadingDetailsReportView.ts +2 -5
- package/front_end/panels/application/preloading/components/PreloadingDisabledInfobar.ts +2 -2
- package/front_end/panels/application/preloading/components/PreloadingGrid.test.ts +1 -1
- package/front_end/panels/application/preloading/components/PreloadingGrid.ts +3 -6
- package/front_end/panels/application/preloading/components/PreloadingMismatchedHeadersGrid.ts +1 -3
- package/front_end/panels/application/preloading/components/PreloadingString.ts +5 -0
- package/front_end/panels/application/preloading/components/RuleSetDetailsView.ts +2 -3
- package/front_end/panels/application/preloading/components/RuleSetGrid.ts +7 -10
- package/front_end/panels/autofill/AutofillView.ts +2 -5
- package/front_end/panels/console/ConsoleView.ts +1 -1
- package/front_end/panels/css_overview/components/CSSOverviewStartView.ts +3 -5
- package/front_end/panels/elements/AccessibilityTreeUtils.ts +4 -6
- package/front_end/panels/elements/CSSRuleValidator.ts +0 -5
- package/front_end/panels/elements/ColorSwatchPopoverIcon.ts +0 -2
- package/front_end/panels/elements/ElementStatePaneWidget.ts +5 -0
- package/front_end/panels/elements/ElementsPanel.ts +4 -4
- package/front_end/panels/elements/ElementsTreeElement.ts +1 -1
- package/front_end/panels/elements/StylePropertyTreeElement.test.ts +90 -0
- package/front_end/panels/elements/StylePropertyTreeElement.ts +29 -2
- package/front_end/panels/elements/components/ElementsBreadcrumbs.ts +3 -5
- package/front_end/panels/elements/components/LayoutPane.ts +2 -3
- package/front_end/panels/elements/components/QueryContainer.ts +3 -5
- package/front_end/panels/elements/stylePropertiesTreeOutline.css +13 -0
- package/front_end/panels/emulation/components/DeviceSizeInputElement.ts +0 -2
- package/front_end/panels/event_listeners/EventListenersView.ts +2 -2
- package/front_end/panels/event_listeners/eventListenersView.css +4 -3
- package/front_end/panels/explain/components/ConsoleInsight.test.ts +56 -8
- package/front_end/panels/explain/components/ConsoleInsight.ts +53 -36
- package/front_end/panels/explain/explain-meta.ts +1 -12
- package/front_end/panels/freestyler/AiAgent.test.ts +92 -12
- package/front_end/panels/freestyler/AiAgent.ts +341 -56
- package/front_end/panels/freestyler/DrJonesFileAgent.test.ts +70 -43
- package/front_end/panels/freestyler/DrJonesFileAgent.ts +75 -79
- package/front_end/panels/freestyler/DrJonesNetworkAgent.test.ts +135 -72
- package/front_end/panels/freestyler/DrJonesNetworkAgent.ts +219 -117
- package/front_end/panels/freestyler/DrJonesPerformanceAgent.test.ts +102 -56
- package/front_end/panels/freestyler/DrJonesPerformanceAgent.ts +118 -114
- package/front_end/panels/freestyler/FreestylerAgent.test.ts +108 -100
- package/front_end/panels/freestyler/FreestylerAgent.ts +65 -183
- package/front_end/panels/freestyler/FreestylerEvaluateAction.test.ts +40 -36
- package/front_end/panels/freestyler/FreestylerEvaluateAction.ts +15 -14
- package/front_end/panels/freestyler/FreestylerPanel.test.ts +548 -15
- package/front_end/panels/freestyler/FreestylerPanel.ts +385 -132
- package/front_end/panels/freestyler/components/FreestylerChatUi.test.ts +34 -4
- package/front_end/panels/freestyler/components/FreestylerChatUi.ts +186 -92
- package/front_end/panels/freestyler/components/UserActionRow.test.ts +60 -0
- package/front_end/panels/freestyler/components/{ProvideFeedback.ts → UserActionRow.ts} +42 -16
- package/front_end/panels/freestyler/components/freestylerChatUi.css +100 -97
- package/front_end/panels/freestyler/components/userActionRow.css +149 -0
- package/front_end/panels/freestyler/freestyler-meta.ts +50 -23
- package/front_end/panels/freestyler/freestyler.ts +1 -1
- package/front_end/panels/issues/AttributionReportingIssueDetailsView.ts +14 -0
- package/front_end/panels/issues/IssueAggregator.ts +10 -1
- package/front_end/panels/issues/components/ElementsPanelLink.ts +0 -1
- package/front_end/panels/issues/components/HideIssuesMenu.ts +12 -4
- package/front_end/panels/lighthouse/LighthouseStartView.ts +1 -1
- package/front_end/panels/linear_memory_inspector/LinearMemoryInspectorController.ts +2 -2
- package/front_end/panels/linear_memory_inspector/components/LinearMemoryHighlightChipList.ts +1 -2
- package/front_end/panels/linear_memory_inspector/components/LinearMemoryInspector.ts +7 -12
- package/front_end/panels/linear_memory_inspector/components/LinearMemoryValueInterpreter.ts +3 -4
- package/front_end/panels/linear_memory_inspector/components/ValueInterpreterDisplay.ts +1 -2
- package/front_end/panels/network/BinaryResourceView.ts +3 -2
- package/front_end/panels/network/NetworkDataGridNode.test.ts +29 -0
- package/front_end/panels/network/NetworkDataGridNode.ts +56 -5
- package/front_end/panels/network/NetworkLogView.test.ts +29 -0
- package/front_end/panels/network/NetworkLogView.ts +2 -2
- package/front_end/panels/network/NetworkPanel.test.ts +3 -22
- package/front_end/panels/network/NetworkPanel.ts +26 -7
- package/front_end/panels/network/NetworkWaterfallColumn.ts +2 -0
- package/front_end/panels/network/RequestResponseView.test.ts +2 -2
- package/front_end/panels/network/RequestResponseView.ts +6 -10
- package/front_end/panels/network/ResourceWebSocketFrameView.ts +3 -1
- package/front_end/panels/network/components/HeaderSectionRow.ts +11 -12
- package/front_end/panels/network/components/RequestHeaderSection.ts +4 -9
- package/front_end/panels/network/components/RequestHeadersView.css +7 -0
- package/front_end/panels/network/components/RequestTrustTokensView.ts +1 -1
- package/front_end/panels/network/network.ts +0 -2
- package/front_end/panels/network/networkConfigView.css +8 -7
- package/front_end/panels/network/networkLogView.css +32 -2
- package/front_end/panels/network/networkPanel.css +2 -1
- package/front_end/panels/profiler/HeapSnapshotDataGrids.ts +11 -10
- package/front_end/panels/profiler/HeapSnapshotGridNodes.ts +12 -8
- package/front_end/panels/profiler/HeapSnapshotProxy.ts +6 -6
- package/front_end/panels/protocol_monitor/components/JSONEditor.ts +5 -5
- package/front_end/panels/recorder/components/StartView.ts +4 -5
- package/front_end/panels/recorder/components/recordingView.css +1 -4
- package/front_end/panels/recorder/components/selectButton.css +6 -50
- package/front_end/panels/recorder/models/RecorderShortcutHelper.ts +1 -1
- package/front_end/panels/recorder/models/RecordingSession.ts +4 -4
- package/front_end/panels/recorder/recorderController.css +38 -18
- package/front_end/panels/screencast/ScreencastApp.ts +1 -1
- package/front_end/panels/screencast/ScreencastView.ts +1 -1
- package/front_end/panels/search/SearchView.ts +0 -2
- package/front_end/panels/search/searchView.css +5 -1
- package/front_end/panels/security/CookieReportTreeElement.ts +26 -0
- package/front_end/panels/security/OriginTreeElement.ts +20 -7
- package/front_end/panels/security/SecurityPanel.ts +64 -15
- package/front_end/panels/security/{SecurityAndPrivacyPanelSidebar.ts → SecurityPanelSidebar.ts} +24 -13
- package/front_end/panels/security/SecurityPanelSidebarTreeElement.ts +1 -12
- package/front_end/panels/security/sidebar.css +40 -1
- package/front_end/panels/sensors/SensorsView.ts +27 -0
- package/front_end/panels/sensors/sensors-meta.ts +59 -0
- package/front_end/panels/settings/AISettingsTab.test.ts +79 -11
- package/front_end/panels/settings/AISettingsTab.ts +109 -22
- package/front_end/panels/settings/FrameworkIgnoreListSettingsTab.ts +44 -30
- package/front_end/panels/settings/KeybindsSettingsTab.ts +34 -17
- package/front_end/panels/settings/SettingsScreen.ts +1 -1
- package/front_end/panels/settings/aiSettingsTab.css +13 -0
- package/front_end/panels/settings/components/SyncSection.ts +1 -3
- package/front_end/panels/settings/emulation/DevicesSettingsTab.ts +51 -29
- package/front_end/panels/settings/emulation/components/UserAgentClientHintsForm.ts +24 -12
- package/front_end/panels/settings/emulation/devicesSettingsTab.css +11 -10
- package/front_end/panels/settings/frameworkIgnoreListSettingsTab.css +14 -42
- package/front_end/panels/settings/keybindsSettingsTab.css +51 -89
- package/front_end/panels/settings/settingsScreen.css +30 -6
- package/front_end/panels/sources/AddSourceMapURLDialog.ts +1 -1
- package/front_end/panels/sources/CSSPlugin.ts +0 -2
- package/front_end/panels/sources/NavigatorView.ts +31 -23
- package/front_end/panels/sources/SourcesPanel.ts +25 -6
- package/front_end/panels/sources/SourcesView.test.ts +1 -0
- package/front_end/panels/sources/SourcesView.ts +2 -2
- package/front_end/panels/sources/components/BreakpointsView.ts +0 -1
- package/front_end/panels/sources/components/HeadersView.ts +0 -1
- package/front_end/panels/sources/navigatorTree.css +11 -0
- package/front_end/panels/timeline/AnnotationHelpers.ts +3 -3
- package/front_end/panels/timeline/AppenderUtils.ts +1 -3
- package/front_end/panels/timeline/CompatibilityTracksAppender.ts +21 -9
- package/front_end/panels/timeline/EntriesFilter.test.ts +19 -36
- package/front_end/panels/timeline/EntriesFilter.ts +6 -4
- package/front_end/panels/timeline/EventsTimelineTreeView.ts +9 -9
- package/front_end/panels/timeline/InteractionsTrackAppender.ts +2 -1
- package/front_end/panels/timeline/LayoutShiftsTrackAppender.ts +6 -6
- package/front_end/panels/timeline/NetworkTrackAppender.ts +1 -8
- package/front_end/panels/timeline/ThreadAppender.ts +5 -6
- package/front_end/panels/timeline/TimelineDetailsView.test.ts +85 -42
- package/front_end/panels/timeline/TimelineDetailsView.ts +71 -42
- package/front_end/panels/timeline/TimelineEventOverview.ts +10 -10
- package/front_end/panels/timeline/TimelineFilters.test.ts +4 -4
- package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +58 -62
- package/front_end/panels/timeline/TimelineFlameChartNetworkDataProvider.ts +16 -15
- package/front_end/panels/timeline/TimelineFlameChartView.test.ts +2 -3
- package/front_end/panels/timeline/TimelineFlameChartView.ts +102 -57
- package/front_end/panels/timeline/TimelineHistoryManager.ts +4 -0
- package/front_end/panels/timeline/TimelineMiniMap.ts +0 -8
- package/front_end/panels/timeline/TimelinePanel.ts +89 -44
- package/front_end/panels/timeline/TimelineSelection.test.ts +91 -36
- package/front_end/panels/timeline/TimelineSelection.ts +48 -60
- package/front_end/panels/timeline/TimelineSelectorStatsView.ts +3 -8
- package/front_end/panels/timeline/TimelineTreeView.ts +7 -5
- package/front_end/panels/timeline/TimelineUIUtils.test.ts +51 -4
- package/front_end/panels/timeline/TimelineUIUtils.ts +37 -27
- package/front_end/panels/timeline/UIDevtoolsController.ts +5 -5
- package/front_end/panels/timeline/UIDevtoolsUtils.ts +59 -68
- package/front_end/panels/timeline/components/BreadcrumbsUI.ts +2 -3
- package/front_end/panels/timeline/components/LayoutShiftDetails.ts +25 -8
- package/front_end/panels/timeline/components/LiveMetricsView.test.ts +230 -68
- package/front_end/panels/timeline/components/LiveMetricsView.ts +146 -112
- package/front_end/panels/timeline/components/NetworkRequestDetails.test.ts +14 -7
- package/front_end/panels/timeline/components/NetworkRequestDetails.ts +47 -117
- package/front_end/panels/timeline/components/NetworkRequestTooltip.ts +64 -74
- package/front_end/panels/timeline/components/Sidebar.ts +2 -1
- package/front_end/panels/timeline/components/SidebarAnnotationsTab.ts +11 -13
- package/front_end/panels/timeline/components/SidebarInsightsTab.ts +51 -2
- package/front_end/panels/timeline/components/SidebarSingleInsightSet.test.ts +1 -2
- package/front_end/panels/timeline/components/Utils.ts +28 -29
- package/front_end/panels/timeline/components/components.ts +0 -4
- package/front_end/panels/timeline/components/insights/CLSCulprits.ts +10 -3
- package/front_end/panels/timeline/components/insights/DocumentLatency.ts +8 -4
- package/front_end/panels/timeline/components/insights/EventRef.ts +0 -1
- package/front_end/panels/timeline/components/insights/FontDisplay.ts +1 -1
- package/front_end/panels/timeline/components/insights/Helpers.ts +4 -4
- package/front_end/panels/timeline/components/insights/InteractionToNextPaint.ts +3 -5
- package/front_end/panels/timeline/components/insights/LCPDiscovery.ts +1 -1
- package/front_end/panels/timeline/components/insights/LCPPhases.ts +7 -1
- package/front_end/panels/timeline/components/insights/NodeLink.ts +0 -1
- package/front_end/panels/timeline/components/insights/README.md +2 -2
- package/front_end/panels/timeline/components/insights/RenderBlocking.ts +5 -7
- package/front_end/panels/timeline/components/insights/SidebarInsight.ts +14 -5
- package/front_end/panels/timeline/components/insights/SlowCSSSelector.ts +112 -34
- package/front_end/panels/timeline/components/insights/Table.ts +1 -3
- package/front_end/panels/timeline/components/insights/ThirdParties.ts +6 -9
- package/front_end/panels/timeline/components/insights/Viewport.ts +3 -5
- package/front_end/panels/timeline/components/layoutShiftDetails.css +7 -1
- package/front_end/panels/timeline/components/liveMetricsView.css +59 -18
- package/front_end/panels/timeline/components/networkRequestDetails.css +9 -49
- package/front_end/panels/timeline/components/networkRequestTooltip.css +34 -11
- package/front_end/panels/timeline/components/relatedInsightChips.css +1 -1
- package/front_end/panels/timeline/components/sidebarInsightsTab.css +20 -0
- package/front_end/panels/timeline/extensions/ExtensionUI.ts +7 -7
- package/front_end/panels/timeline/fixtures/traces/README.md +4 -0
- package/front_end/panels/timeline/fixtures/traces/scheduler-post-task.json.gz +0 -0
- package/front_end/panels/timeline/fixtures/traces/unsized-images.json.gz +0 -0
- package/front_end/panels/timeline/historyToolbarButton.css +33 -19
- package/front_end/panels/timeline/overlays/OverlaysImpl.test.ts +0 -16
- package/front_end/panels/timeline/overlays/OverlaysImpl.ts +48 -22
- package/front_end/panels/timeline/overlays/components/entriesLinkOverlay.css +8 -0
- package/front_end/panels/timeline/overlays/components/entryLabelOverlay.css +16 -0
- package/front_end/panels/timeline/timeline-meta.ts +11 -0
- package/front_end/panels/timeline/timelineFlameChartView.css +16 -0
- package/front_end/panels/timeline/track_appenders/AnimationsTrackAppender.test.ts +2 -3
- package/front_end/panels/timeline/track_appenders/AppenderUtils.test.ts +1 -6
- package/front_end/panels/timeline/track_appenders/CompatibilityTracksAppender.test.ts +1 -1
- package/front_end/panels/timeline/track_appenders/ExtensionTrackAppender.test.ts +7 -8
- package/front_end/panels/timeline/track_appenders/GPUTrackAppender.test.ts +2 -2
- package/front_end/panels/timeline/track_appenders/InteractionsTrackAppender.test.ts +3 -3
- package/front_end/panels/timeline/track_appenders/LayoutShiftsTrackAppender.test.ts +3 -4
- package/front_end/panels/timeline/track_appenders/ServerTimingsTrackAppender.test.ts +2 -3
- package/front_end/panels/timeline/track_appenders/ThreadAppender.test.ts +5 -10
- package/front_end/panels/timeline/track_appenders/TimingsTrackAppender.test.ts +5 -5
- package/front_end/panels/timeline/utils/AICallTree.test.ts +80 -0
- package/front_end/panels/timeline/utils/AICallTree.ts +165 -0
- package/front_end/panels/timeline/{components → utils}/EntryName.test.ts +12 -12
- package/front_end/panels/timeline/{components → utils}/EntryName.ts +1 -1
- package/front_end/panels/timeline/{components → utils}/EntryStyles.ts +28 -1
- package/front_end/panels/timeline/utils/Helpers.test.ts +8 -3
- package/front_end/panels/timeline/utils/Helpers.ts +3 -4
- package/front_end/panels/timeline/utils/IgnoreList.test.ts +86 -0
- package/front_end/panels/timeline/utils/IgnoreList.ts +11 -4
- package/front_end/panels/timeline/utils/NetworkRequest.ts +1 -1
- package/front_end/panels/timeline/utils/SourceMapsResolver.test.ts +51 -18
- package/front_end/panels/timeline/utils/SourceMapsResolver.ts +3 -1
- package/front_end/panels/timeline/utils/utils.ts +6 -0
- package/front_end/panels/utils/utils.ts +56 -4
- package/front_end/services/trace_bounds/TraceBounds.ts +7 -1
- package/front_end/testing/ContextMenuHelpers.ts +1 -1
- package/front_end/testing/EnvironmentHelpers.ts +25 -3
- package/front_end/testing/NetworkHelpers.ts +38 -0
- package/front_end/testing/StorageItemsViewHelpers.ts +24 -0
- package/front_end/testing/TraceHelpers.ts +10 -0
- package/front_end/third_party/additional_readme_paths.json +1 -0
- package/front_end/third_party/codemirror.next/chunk/angular.js +1 -1
- package/front_end/third_party/codemirror.next/chunk/angular.js.map +1 -1
- package/front_end/third_party/codemirror.next/chunk/codemirror.js +1 -1
- package/front_end/third_party/codemirror.next/chunk/codemirror.js.map +1 -1
- package/front_end/third_party/codemirror.next/chunk/cpp.js.map +1 -1
- package/front_end/third_party/codemirror.next/chunk/legacy.js.map +1 -1
- package/front_end/third_party/codemirror.next/chunk/less.js.map +1 -1
- package/front_end/third_party/codemirror.next/chunk/markdown.js +1 -1
- package/front_end/third_party/codemirror.next/chunk/markdown.js.map +1 -1
- package/front_end/third_party/codemirror.next/chunk/php.js.map +1 -1
- package/front_end/third_party/codemirror.next/chunk/python.js +1 -1
- package/front_end/third_party/codemirror.next/chunk/python.js.map +1 -1
- package/front_end/third_party/codemirror.next/chunk/sass.js.map +1 -1
- package/front_end/third_party/codemirror.next/chunk/svelte.js +1 -1
- package/front_end/third_party/codemirror.next/chunk/svelte.js.map +1 -1
- package/front_end/third_party/codemirror.next/chunk/vue.js +1 -1
- package/front_end/third_party/codemirror.next/chunk/vue.js.map +1 -1
- package/front_end/third_party/codemirror.next/chunk/xml.js +1 -1
- package/front_end/third_party/codemirror.next/chunk/xml.js.map +1 -1
- package/front_end/third_party/codemirror.next/codemirror.next.d.ts +68 -3
- package/front_end/third_party/codemirror.next/codemirror.next.js +1 -1
- package/front_end/third_party/codemirror.next/package.json +2 -1
- package/front_end/third_party/intl-messageformat/README.chromium +2 -1
- package/front_end/third_party/intl-messageformat/package/intl-messageformat.esm.js +0 -1
- package/front_end/third_party/json5/LICENSE +23 -0
- package/front_end/third_party/json5/README.chromium +17 -0
- package/front_end/third_party/json5/json5-tsconfig.json +8 -0
- package/front_end/third_party/json5/json5.ts +4 -0
- package/front_end/third_party/json5/lib/index.d.ts +2 -0
- package/front_end/third_party/json5/lib/index.js +1121 -0
- package/front_end/third_party/json5/package/lib/index.d.ts +4 -0
- package/front_end/third_party/json5/package/lib/index.js +9 -0
- package/front_end/third_party/json5/package/lib/parse.d.ts +15 -0
- package/front_end/third_party/json5/package/lib/parse.js +1114 -0
- package/front_end/third_party/json5/package/lib/register.js +13 -0
- package/front_end/third_party/json5/package/lib/require.js +4 -0
- package/front_end/third_party/json5/package/lib/stringify.d.ts +89 -0
- package/front_end/third_party/json5/package/lib/stringify.js +261 -0
- package/front_end/third_party/json5/package/lib/unicode.d.ts +3 -0
- package/front_end/third_party/json5/package/lib/unicode.js +4 -0
- package/front_end/third_party/json5/package/lib/util.d.ts +5 -0
- package/front_end/third_party/json5/package/lib/util.js +35 -0
- package/front_end/third_party/json5/package.json +8 -0
- package/front_end/third_party/json5/rebuild.sh +5 -0
- package/front_end/third_party/puppeteer/README.chromium +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.d.ts +2 -2
- 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 +1 -6
- 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/BrowserContext.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/BrowserContext.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/CDPSession.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/CDPSession.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/ElementHandle.d.ts +4 -4
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/ElementHandle.js +18 -11
- 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 +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Frame.js +13 -6
- 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 +7 -2
- 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 +3 -3
- 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/HTTPResponse.d.ts +0 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/HTTPResponse.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Input.d.ts +3 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Input.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/JSHandle.js +12 -5
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/JSHandle.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.d.ts +22 -22
- 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 +26 -19
- 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/api/WebWorker.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/WebWorker.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/api.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/api.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/api.js +0 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/api.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/locators/locators.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/locators/locators.js +12 -5
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/locators/locators.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BidiOverCdp.js +1 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BidiOverCdp.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Browser.d.ts +0 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Browser.js +4 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserConnector.js +1 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserConnector.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserContext.js +12 -5
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/ElementHandle.js +12 -5
- 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/ExposedFunction.js +12 -5
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/ExposedFunction.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 +3 -0
- 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/Page.js +21 -10
- 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/bidi/Realm.js +12 -5
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Realm.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Browser.js +12 -5
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/core.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/core.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/core.js +0 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/core.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/util.js +2 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/util.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/AriaQueryHandler.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/AriaQueryHandler.js +3 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/AriaQueryHandler.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Binding.js +12 -5
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Binding.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.d.ts +0 -1
- 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/BrowserConnector.js +1 -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.js +12 -5
- 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/ChromeTargetManager.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ChromeTargetManager.js +3 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ChromeTargetManager.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Connection.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Connection.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/DeviceRequestPrompt.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/DeviceRequestPrompt.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ExecutionContext.d.ts +3 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ExecutionContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ExecutionContext.js +17 -13
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ExecutionContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ExtensionTransport.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ExtensionTransport.js +5 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ExtensionTransport.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/FrameManager.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/FrameManager.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPResponse.js +1 -1
- 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.map +1 -1
- 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/IsolatedWorld.d.ts +1 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/IsolatedWorld.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/IsolatedWorld.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/JSHandle.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/JSHandle.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 +2 -1
- 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 -1
- 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 +16 -7
- 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/cdp/PredefinedNetworkConditions.d.ts +4 -4
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/PredefinedNetworkConditions.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/PredefinedNetworkConditions.js +4 -4
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/cdp.d.ts +2 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/cdp.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/cdp.js +2 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/cdp.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/utils.js +6 -6
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/utils.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserConnector.js +1 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserConnector.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/CSSQueryHandler.d.ts.map +1 -1
- 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 -2
- 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 +3 -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/Debug.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Debug.js +4 -5
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Debug.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/GetQueryHandler.js +1 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/GetQueryHandler.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HandleIterator.js +13 -7
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HandleIterator.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/LazyArg.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/LazyArg.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/PSelectorParser.js +1 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/PSelectorParser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/PierceQueryHandler.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/QueryHandler.js +12 -5
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/QueryHandler.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/common.d.ts +7 -7
- 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/common/common.js +0 -7
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/common.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/util.d.ts +2 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/util.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/util.js +14 -12
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/util.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/environment.d.ts +0 -2
- 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/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/ARIAQuerySelector.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/CSSSelector.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/PQuerySelector.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/TextQuerySelector.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/XPathQuerySelector.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/injected.d.ts +4 -4
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/injected.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/util.js +3 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/util.js.map +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.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.js +3 -4
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/PipeTransport.d.ts +0 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/PipeTransport.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/PipeTransport.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ScreenRecorder.d.ts +0 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ScreenRecorder.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/node.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/node.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/node.js +0 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/node.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/util/fs.js +2 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/util/fs.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/puppeteer-core.d.ts +6 -6
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/puppeteer-core.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/puppeteer-core.js +15 -4
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/puppeteer-core.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/revisions.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Deferred.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Deferred.js +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Deferred.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/ErrorLike.d.ts +0 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/ErrorLike.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/ErrorLike.js +4 -5
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/ErrorLike.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Function.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Function.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Function.js.map +1 -1
- 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/Mutex.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/decorators.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/decorators.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/decorators.js +18 -13
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/decorators.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/disposable.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/encoding.js +4 -5
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/encoding.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/util.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/util.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/util.js +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/util.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.d.ts +374 -578
- package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +316 -150
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.d.ts +2 -2
- 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 +1 -6
- 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/BrowserContext.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/BrowserContext.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/CDPSession.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/CDPSession.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/ElementHandle.d.ts +4 -4
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/ElementHandle.js +16 -9
- 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 +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Frame.js +13 -6
- 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 +7 -2
- 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.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/HTTPResponse.d.ts +0 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/HTTPResponse.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Input.d.ts +3 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Input.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/JSHandle.js +12 -5
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/JSHandle.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.d.ts +22 -22
- 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 +24 -17
- 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/api/WebWorker.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/WebWorker.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/api.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/api.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/api.js +0 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/api.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/locators/locators.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/locators/locators.js +12 -5
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/locators/locators.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Browser.d.ts +0 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Browser.js +4 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserContext.js +12 -5
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/ElementHandle.js +12 -5
- 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/ExposedFunction.js +12 -5
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/ExposedFunction.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 +3 -0
- 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/Page.js +21 -10
- 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/bidi/Realm.js +12 -5
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Realm.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Browser.js +12 -5
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/core.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/core.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/core.js +0 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/core.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/AriaQueryHandler.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/AriaQueryHandler.js +3 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/AriaQueryHandler.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Binding.js +12 -5
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Binding.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.d.ts +0 -1
- 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/BrowserContext.js +12 -5
- 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/ChromeTargetManager.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ChromeTargetManager.js +3 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ChromeTargetManager.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/DeviceRequestPrompt.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/DeviceRequestPrompt.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ExecutionContext.d.ts +3 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ExecutionContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ExecutionContext.js +17 -13
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ExecutionContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ExtensionTransport.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ExtensionTransport.js +5 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ExtensionTransport.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/FrameManager.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/FrameManager.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPResponse.js +1 -1
- 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.map +1 -1
- 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/IsolatedWorld.d.ts +1 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/IsolatedWorld.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/IsolatedWorld.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 +2 -1
- 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 -1
- 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 +16 -7
- 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/cdp/PredefinedNetworkConditions.d.ts +4 -4
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/PredefinedNetworkConditions.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/PredefinedNetworkConditions.js +4 -4
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/cdp.d.ts +2 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/cdp.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/cdp.js +2 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/cdp.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/CSSQueryHandler.d.ts.map +1 -1
- 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.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectOptions.d.ts +3 -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/Debug.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Debug.js +0 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Debug.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HandleIterator.js +12 -5
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HandleIterator.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/LazyArg.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/LazyArg.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/PierceQueryHandler.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/QueryHandler.js +12 -5
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/QueryHandler.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/common.d.ts +7 -7
- 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/common/common.js +0 -7
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/common.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/util.d.ts +2 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/util.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/util.js +3 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/util.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/environment.d.ts +0 -2
- 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/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/injected/ARIAQuerySelector.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/injected/CSSSelector.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/injected/PQuerySelector.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/injected/TextQuerySelector.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/injected/XPathQuerySelector.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/injected/injected.d.ts +3 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/injected/injected.d.ts.map +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.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.js +0 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/PipeTransport.d.ts +0 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/PipeTransport.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/PipeTransport.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ScreenRecorder.d.ts +0 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ScreenRecorder.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/node.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/node.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/node.js +0 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/node.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/puppeteer-core-browser.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/puppeteer-core-browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/puppeteer-core.d.ts +6 -6
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/puppeteer-core.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/puppeteer-core.js +3 -4
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/puppeteer-core.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/revisions.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/Deferred.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/Deferred.js +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/Deferred.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/ErrorLike.d.ts +0 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/ErrorLike.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/Function.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/Mutex.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/Mutex.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/decorators.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/decorators.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/decorators.js +12 -6
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/decorators.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/disposable.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/util.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/util.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/util.js +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/util.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/types.d.ts +374 -578
- package/front_end/third_party/puppeteer/package/package.json +6 -6
- package/front_end/third_party/puppeteer/package/src/api/Browser.ts +8 -8
- package/front_end/third_party/puppeteer/package/src/api/BrowserContext.ts +5 -5
- package/front_end/third_party/puppeteer/package/src/api/CDPSession.ts +2 -2
- package/front_end/third_party/puppeteer/package/src/api/Dialog.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/api/ElementHandle.ts +44 -44
- package/front_end/third_party/puppeteer/package/src/api/Frame.ts +33 -33
- package/front_end/third_party/puppeteer/package/src/api/HTTPRequest.ts +14 -9
- package/front_end/third_party/puppeteer/package/src/api/Input.ts +11 -11
- package/front_end/third_party/puppeteer/package/src/api/JSHandle.ts +5 -5
- package/front_end/third_party/puppeteer/package/src/api/Page.ts +88 -87
- package/front_end/third_party/puppeteer/package/src/api/Realm.ts +2 -2
- package/front_end/third_party/puppeteer/package/src/api/WebWorker.ts +2 -2
- package/front_end/third_party/puppeteer/package/src/api/api.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/api/locators/locators.ts +79 -79
- package/front_end/third_party/puppeteer/package/src/bidi/BidiOverCdp.ts +7 -7
- package/front_end/third_party/puppeteer/package/src/bidi/Browser.ts +9 -5
- package/front_end/third_party/puppeteer/package/src/bidi/BrowserConnector.ts +5 -5
- package/front_end/third_party/puppeteer/package/src/bidi/BrowserContext.ts +10 -10
- package/front_end/third_party/puppeteer/package/src/bidi/CDPSession.ts +4 -4
- package/front_end/third_party/puppeteer/package/src/bidi/Connection.ts +6 -6
- package/front_end/third_party/puppeteer/package/src/bidi/ElementHandle.ts +3 -3
- package/front_end/third_party/puppeteer/package/src/bidi/ExposedFunction.ts +11 -11
- package/front_end/third_party/puppeteer/package/src/bidi/Frame.ts +45 -41
- package/front_end/third_party/puppeteer/package/src/bidi/HTTPRequest.ts +9 -9
- package/front_end/third_party/puppeteer/package/src/bidi/HTTPResponse.ts +3 -3
- package/front_end/third_party/puppeteer/package/src/bidi/Input.ts +10 -10
- package/front_end/third_party/puppeteer/package/src/bidi/JSHandle.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/bidi/Page.ts +56 -52
- package/front_end/third_party/puppeteer/package/src/bidi/Realm.ts +15 -15
- package/front_end/third_party/puppeteer/package/src/bidi/Serializer.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/bidi/Target.ts +2 -2
- package/front_end/third_party/puppeteer/package/src/bidi/WebWorker.ts +2 -2
- package/front_end/third_party/puppeteer/package/src/bidi/core/Browser.ts +4 -4
- package/front_end/third_party/puppeteer/package/src/bidi/core/BrowsingContext.ts +17 -17
- package/front_end/third_party/puppeteer/package/src/bidi/core/Connection.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/bidi/core/Navigation.ts +3 -3
- package/front_end/third_party/puppeteer/package/src/bidi/core/Realm.ts +6 -6
- package/front_end/third_party/puppeteer/package/src/bidi/core/Request.ts +5 -5
- package/front_end/third_party/puppeteer/package/src/bidi/core/Session.ts +4 -4
- package/front_end/third_party/puppeteer/package/src/bidi/core/UserContext.ts +9 -9
- package/front_end/third_party/puppeteer/package/src/bidi/core/UserPrompt.ts +4 -4
- package/front_end/third_party/puppeteer/package/src/bidi/core/core.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/bidi/util.ts +4 -4
- package/front_end/third_party/puppeteer/package/src/cdp/Accessibility.ts +7 -7
- package/front_end/third_party/puppeteer/package/src/cdp/AriaQueryHandler.ts +10 -6
- package/front_end/third_party/puppeteer/package/src/cdp/Binding.ts +6 -6
- package/front_end/third_party/puppeteer/package/src/cdp/Browser.ts +24 -24
- package/front_end/third_party/puppeteer/package/src/cdp/BrowserConnector.ts +4 -4
- package/front_end/third_party/puppeteer/package/src/cdp/BrowserContext.ts +2 -2
- package/front_end/third_party/puppeteer/package/src/cdp/CDPSession.ts +7 -7
- package/front_end/third_party/puppeteer/package/src/cdp/ChromeTargetManager.ts +19 -17
- package/front_end/third_party/puppeteer/package/src/cdp/Connection.ts +7 -7
- package/front_end/third_party/puppeteer/package/src/cdp/Coverage.ts +11 -11
- package/front_end/third_party/puppeteer/package/src/cdp/DeviceRequestPrompt.ts +17 -17
- package/front_end/third_party/puppeteer/package/src/cdp/Dialog.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/cdp/ElementHandle.ts +6 -6
- package/front_end/third_party/puppeteer/package/src/cdp/EmulationManager.ts +34 -34
- package/front_end/third_party/puppeteer/package/src/cdp/ExecutionContext.ts +18 -19
- package/front_end/third_party/puppeteer/package/src/cdp/ExtensionTransport.ts +7 -3
- package/front_end/third_party/puppeteer/package/src/cdp/FirefoxTargetManager.ts +7 -7
- package/front_end/third_party/puppeteer/package/src/cdp/Frame.ts +16 -16
- package/front_end/third_party/puppeteer/package/src/cdp/FrameManager.ts +20 -20
- package/front_end/third_party/puppeteer/package/src/cdp/FrameManagerEvents.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/cdp/HTTPRequest.ts +5 -5
- package/front_end/third_party/puppeteer/package/src/cdp/HTTPResponse.ts +5 -5
- package/front_end/third_party/puppeteer/package/src/cdp/Input.ts +16 -14
- package/front_end/third_party/puppeteer/package/src/cdp/IsolatedWorld.ts +14 -13
- package/front_end/third_party/puppeteer/package/src/cdp/JSHandle.ts +2 -2
- package/front_end/third_party/puppeteer/package/src/cdp/LifecycleWatcher.ts +11 -11
- package/front_end/third_party/puppeteer/package/src/cdp/NetworkEventManager.ts +15 -15
- package/front_end/third_party/puppeteer/package/src/cdp/NetworkManager.ts +38 -37
- package/front_end/third_party/puppeteer/package/src/cdp/Page.ts +71 -70
- package/front_end/third_party/puppeteer/package/src/cdp/PredefinedNetworkConditions.ts +4 -4
- package/front_end/third_party/puppeteer/package/src/cdp/Target.ts +4 -4
- package/front_end/third_party/puppeteer/package/src/cdp/TargetManager.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/cdp/Tracing.ts +2 -2
- package/front_end/third_party/puppeteer/package/src/cdp/WebWorker.ts +5 -5
- package/front_end/third_party/puppeteer/package/src/cdp/cdp.ts +2 -0
- package/front_end/third_party/puppeteer/package/src/cdp/utils.ts +10 -10
- package/front_end/third_party/puppeteer/package/src/common/BrowserConnector.ts +5 -5
- package/front_end/third_party/puppeteer/package/src/common/CSSQueryHandler.ts +2 -2
- package/front_end/third_party/puppeteer/package/src/common/CallbackRegistry.ts +9 -7
- package/front_end/third_party/puppeteer/package/src/common/ConnectOptions.ts +3 -0
- package/front_end/third_party/puppeteer/package/src/common/ConsoleMessage.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/common/CustomQueryHandler.ts +6 -6
- package/front_end/third_party/puppeteer/package/src/common/Debug.ts +0 -1
- package/front_end/third_party/puppeteer/package/src/common/EventEmitter.ts +8 -8
- package/front_end/third_party/puppeteer/package/src/common/FileChooser.ts +3 -3
- package/front_end/third_party/puppeteer/package/src/common/HandleIterator.ts +3 -3
- package/front_end/third_party/puppeteer/package/src/common/LazyArg.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/common/NetworkManagerEvents.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/common/PQueryHandler.ts +2 -2
- package/front_end/third_party/puppeteer/package/src/common/PSelectorParser.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/common/PierceQueryHandler.ts +2 -2
- package/front_end/third_party/puppeteer/package/src/common/Puppeteer.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/common/QueryHandler.ts +12 -12
- package/front_end/third_party/puppeteer/package/src/common/TaskQueue.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/common/TextQueryHandler.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/common/WaitTask.ts +8 -8
- package/front_end/third_party/puppeteer/package/src/common/XPathQueryHandler.ts +2 -2
- package/front_end/third_party/puppeteer/package/src/common/common.ts +7 -7
- package/front_end/third_party/puppeteer/package/src/common/util.ts +15 -14
- package/front_end/third_party/puppeteer/package/src/generated/version.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/injected/ARIAQuerySelector.ts +3 -3
- package/front_end/third_party/puppeteer/package/src/injected/CSSSelector.ts +2 -2
- package/front_end/third_party/puppeteer/package/src/injected/PQuerySelector.ts +7 -7
- package/front_end/third_party/puppeteer/package/src/injected/PierceQuerySelector.ts +2 -2
- package/front_end/third_party/puppeteer/package/src/injected/TextContent.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/injected/TextQuerySelector.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/injected/XPathQuerySelector.ts +2 -2
- package/front_end/third_party/puppeteer/package/src/injected/util.ts +2 -2
- package/front_end/third_party/puppeteer/package/src/node/BrowserLauncher.ts +38 -30
- package/front_end/third_party/puppeteer/package/src/node/ChromeLauncher.ts +11 -12
- package/front_end/third_party/puppeteer/package/src/node/FirefoxLauncher.ts +8 -8
- package/front_end/third_party/puppeteer/package/src/node/NodeWebSocketTransport.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/node/PipeTransport.ts +7 -3
- package/front_end/third_party/puppeteer/package/src/node/PuppeteerNode.ts +4 -4
- package/front_end/third_party/puppeteer/package/src/node/ScreenRecorder.ts +10 -10
- package/front_end/third_party/puppeteer/package/src/node/node.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/puppeteer-core.ts +4 -4
- package/front_end/third_party/puppeteer/package/src/revisions.ts +3 -3
- package/front_end/third_party/puppeteer/package/src/util/AsyncIterableUtil.ts +3 -3
- package/front_end/third_party/puppeteer/package/src/util/Deferred.ts +3 -2
- package/front_end/third_party/puppeteer/package/src/util/ErrorLike.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/util/Function.ts +4 -4
- package/front_end/third_party/puppeteer/package/src/util/Mutex.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/util/assert.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/util/decorators.ts +8 -9
- package/front_end/third_party/puppeteer/package/src/util/encoding.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/util/util.ts +1 -0
- package/front_end/third_party/web-vitals/README.chromium +3 -3
- package/front_end/third_party/web-vitals/package/README.md +36 -23
- package/front_end/third_party/web-vitals/package/dist/modules/attribution/onINP.d.ts +2 -1
- package/front_end/third_party/web-vitals/package/dist/modules/attribution/onINP.js +11 -13
- package/front_end/third_party/web-vitals/package/dist/modules/lib/bindReporter.d.ts +2 -22
- package/front_end/third_party/web-vitals/package/dist/modules/lib/initMetric.d.ts +3 -2
- package/front_end/third_party/web-vitals/package/dist/modules/lib/interactions.js +1 -1
- package/front_end/third_party/web-vitals/package/dist/modules/onLCP.js +4 -1
- package/front_end/third_party/web-vitals/package/dist/web-vitals.attribution.iife.js +1 -1
- package/front_end/third_party/web-vitals/package/dist/web-vitals.attribution.js +1 -1
- package/front_end/third_party/web-vitals/package/dist/web-vitals.attribution.umd.cjs +1 -1
- package/front_end/third_party/web-vitals/package/dist/web-vitals.iife.js +1 -1
- package/front_end/third_party/web-vitals/package/dist/web-vitals.js +1 -1
- package/front_end/third_party/web-vitals/package/dist/web-vitals.umd.cjs +1 -1
- package/front_end/third_party/web-vitals/package/package.json +1 -1
- package/front_end/third_party/web-vitals/package/src/attribution/onINP.ts +11 -14
- package/front_end/third_party/web-vitals/package/src/lib/interactions.ts +1 -1
- package/front_end/third_party/web-vitals/package/src/onLCP.ts +4 -1
- package/front_end/third_party/web-vitals/rebuild.sh +14 -0
- package/front_end/third_party/web-vitals/web-vitals.ts +2 -0
- package/front_end/ui/components/adorners/Adorner.ts +0 -1
- package/front_end/ui/components/buttons/Button.ts +0 -1
- package/front_end/ui/components/buttons/button.css +1 -0
- package/front_end/ui/components/cards/Card.test.ts +31 -5
- package/front_end/ui/components/cards/Card.ts +22 -3
- package/front_end/ui/components/cards/card.css +25 -7
- package/front_end/ui/components/chrome_link/ChromeLink.ts +0 -1
- package/front_end/ui/components/data_grid/DataGrid.ts +0 -1
- package/front_end/ui/components/data_grid/DataGridController.ts +2 -3
- package/front_end/ui/components/data_grid/DataGridControllerIntegrator.ts +1 -2
- package/front_end/ui/components/dialogs/Dialog.ts +0 -1
- package/front_end/ui/components/dialogs/IconDialog.ts +9 -11
- package/front_end/ui/components/dialogs/ShortcutDialog.ts +3 -4
- package/front_end/ui/components/diff_view/DiffView.ts +0 -1
- package/front_end/ui/components/docs/building-ui-documentation/ComponentPerformance.md +1 -4
- package/front_end/ui/components/docs/building-ui-documentation/CreatingComponents.md +14 -44
- package/front_end/ui/components/docs/freestyler/basic.ts +2 -3
- package/front_end/ui/components/docs/freestyler/empty_state.ts +2 -2
- package/front_end/ui/components/docs/icon_dialog/basic.ts +4 -4
- package/front_end/ui/components/docs/performance_panel/basic.ts +4 -1
- package/front_end/ui/components/docs/report/basic.ts +3 -3
- package/front_end/ui/components/expandable_list/ExpandableList.ts +0 -1
- package/front_end/ui/components/floating_button/FloatingButton.ts +0 -1
- package/front_end/ui/components/icon_button/FileSourceIcon.test.ts +32 -0
- package/front_end/ui/components/icon_button/FileSourceIcon.ts +76 -0
- package/front_end/ui/components/icon_button/Icon.ts +0 -3
- package/front_end/ui/components/icon_button/IconButton.ts +0 -1
- package/front_end/ui/components/icon_button/fileSourceIcon.css +43 -0
- package/front_end/ui/components/icon_button/icon_button.ts +2 -0
- package/front_end/ui/components/issue_counter/IssueCounter.ts +1 -3
- package/front_end/ui/components/issue_counter/IssueLinkIcon.ts +0 -1
- package/front_end/ui/components/legacy_wrapper/LegacyWrapper.ts +1 -1
- package/front_end/ui/components/linkifier/LinkifierImpl.ts +4 -2
- package/front_end/ui/components/markdown_view/CodeBlock.ts +0 -1
- package/front_end/ui/components/markdown_view/MarkdownImage.ts +0 -1
- package/front_end/ui/components/markdown_view/MarkdownLink.ts +0 -1
- package/front_end/ui/components/markdown_view/MarkdownView.ts +10 -7
- package/front_end/ui/components/menus/Menu.ts +0 -3
- package/front_end/ui/components/menus/SelectMenu.ts +0 -2
- package/front_end/ui/components/menus/selectMenu.css +8 -5
- package/front_end/ui/components/menus/selectMenuButton.css +29 -17
- package/front_end/ui/components/node_text/NodeText.ts +0 -1
- package/front_end/ui/components/panel_feedback/FeedbackButton.ts +0 -1
- package/front_end/ui/components/panel_feedback/PanelFeedback.ts +1 -3
- package/front_end/ui/components/panel_feedback/PreviewToggle.ts +1 -3
- package/front_end/ui/components/panel_introduction_steps/PanelIntroductionSteps.ts +0 -1
- package/front_end/ui/components/report_view/ReportView.ts +1 -7
- package/front_end/ui/components/request_link_icon/RequestLinkIcon.ts +0 -1
- package/front_end/ui/components/settings/SettingCheckbox.ts +28 -10
- package/front_end/ui/components/settings/SettingDeprecationWarning.ts +2 -4
- package/front_end/ui/components/settings/settingCheckbox.css +1 -0
- package/front_end/ui/components/spinners/Spinner.ts +0 -1
- package/front_end/ui/components/spinners/spinner.css +1 -0
- package/front_end/ui/components/split_view/SplitView.ts +0 -1
- package/front_end/ui/components/srgb_overlay/SrgbOverlay.ts +0 -1
- package/front_end/ui/components/survey_link/SurveyLink.ts +1 -3
- package/front_end/ui/components/switch/SwitchImpl.ts +0 -1
- package/front_end/ui/components/text_editor/TextEditor.ts +0 -2
- package/front_end/ui/components/text_prompt/TextPrompt.ts +0 -1
- package/front_end/ui/components/tree_outline/TreeOutline.ts +0 -1
- package/front_end/ui/components/two_states_counter/TwoStatesCounter.ts +0 -1
- package/front_end/ui/legacy/ContextMenu.ts +46 -7
- package/front_end/ui/legacy/FilterBar.test.ts +52 -0
- package/front_end/ui/legacy/FilterBar.ts +46 -1
- package/front_end/ui/legacy/KeyboardShortcut.ts +35 -21
- package/front_end/ui/legacy/Panel.ts +2 -2
- package/front_end/ui/legacy/ShortcutRegistry.ts +10 -7
- package/front_end/ui/legacy/SoftContextMenu.ts +3 -0
- package/front_end/ui/legacy/ThrottledWidget.ts +2 -2
- package/front_end/ui/legacy/Toolbar.ts +1 -0
- package/front_end/ui/legacy/Treeoutline.ts +7 -4
- package/front_end/ui/legacy/UIUtils.ts +9 -0
- package/front_end/ui/legacy/View.ts +2 -2
- package/front_end/ui/legacy/ViewManager.ts +2 -1
- package/front_end/ui/legacy/Widget.ts +4 -4
- package/front_end/ui/legacy/components/data_grid/DataGrid.test.ts +51 -0
- package/front_end/ui/legacy/components/data_grid/DataGrid.ts +92 -6
- package/front_end/ui/legacy/components/data_grid/dataGrid.css +8 -1
- package/front_end/ui/legacy/components/inline_editor/CSSAngle.ts +4 -7
- package/front_end/ui/legacy/components/inline_editor/CSSAngleEditor.ts +0 -1
- package/front_end/ui/legacy/components/inline_editor/CSSAngleSwatch.ts +0 -1
- package/front_end/ui/legacy/components/inline_editor/CSSLength.ts +0 -1
- package/front_end/ui/legacy/components/inline_editor/ColorMixSwatch.ts +0 -1
- package/front_end/ui/legacy/components/inline_editor/ColorSwatch.ts +0 -1
- package/front_end/ui/legacy/components/inline_editor/LinkSwatch.ts +0 -3
- package/front_end/ui/legacy/components/inline_editor/Swatches.ts +1 -2
- package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +2 -2
- package/front_end/ui/legacy/components/perf_ui/CanvasHelper.ts +1 -83
- package/front_end/ui/legacy/components/perf_ui/ChartViewport.ts +3 -2
- package/front_end/ui/legacy/components/perf_ui/FlameChart.ts +162 -57
- package/front_end/ui/legacy/components/perf_ui/PieChart.ts +0 -1
- package/front_end/ui/legacy/components/perf_ui/TimelineOverviewPane.ts +3 -3
- package/front_end/ui/legacy/components/source_frame/BinaryResourceViewFactory.test.ts +5 -9
- package/front_end/ui/legacy/components/source_frame/BinaryResourceViewFactory.ts +9 -60
- package/front_end/ui/legacy/components/source_frame/SourceFrame.test.ts +18 -0
- package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +20 -3
- package/front_end/{panels/network/RequestBinaryResponseView.test.ts → ui/legacy/components/source_frame/StreamingContentHexView.test.ts} +12 -12
- package/front_end/ui/legacy/components/source_frame/StreamingContentHexView.ts +122 -0
- package/front_end/ui/legacy/components/source_frame/source_frame.ts +2 -0
- package/front_end/ui/legacy/designTokens.css +46 -40
- package/front_end/ui/legacy/filter.css +23 -8
- package/front_end/ui/legacy/inspectorCommon.css +31 -29
- package/front_end/ui/legacy/searchableView.css +4 -3
- package/front_end/ui/legacy/softDropDownButton.css +10 -6
- package/front_end/ui/legacy/tabbedPane.css +1 -1
- package/front_end/ui/legacy/toolbar.css +38 -18
- package/front_end/ui/visual_logging/KnownContextValues.ts +67 -1
- package/front_end/ui/visual_logging/LoggingDriver.test.ts +53 -6
- package/front_end/ui/visual_logging/LoggingDriver.ts +8 -5
- package/front_end/ui/visual_logging/LoggingEvents.test.ts +5 -1
- package/front_end/ui/visual_logging/LoggingEvents.ts +1 -1
- package/front_end/ui/visual_logging/LoggingState.ts +1 -1
- package/package.json +5 -6
- package/scripts/build/esbuild.js +3 -1
- package/scripts/devtools_paths.js +11 -1
- package/scripts/eslint_rules/lib/check_test_definitions.js +1 -1
- package/scripts/eslint_rules/tests/check_test_definitions_test.js +10 -0
- package/tsconfig.json +11 -1
- package/docs/add_uma_metrics.md +0 -41
- package/docs/uma_metrics.md +0 -23
- package/front_end/panels/animation/AnimationDOMNode.ts +0 -268
- package/front_end/panels/freestyler/components/ProvideFeedback.test.ts +0 -29
- package/front_end/panels/freestyler/components/provideFeedback.css +0 -60
- package/front_end/panels/network/RequestBinaryResponseView.ts +0 -67
- package/scripts/eslint_rules/lib/lit_html_data_as_type.js +0 -83
- package/scripts/eslint_rules/tests/lit_html_data_as_type_test.js +0 -81
@@ -462,49 +462,67 @@ describe('TreeHelpers', () => {
|
|
462
462
|
const parseFunction = makeCompleteEvent('V8.ParseFunction', 12, 1);
|
463
463
|
|
464
464
|
const traceEvents: Trace.Types.Events.Event[] = [evaluateScript, v8Run, parseFunction];
|
465
|
-
|
466
465
|
const profileCalls = [makeProfileCall('a', 100, 200), makeProfileCall('b', 300, 200)];
|
466
|
+
|
467
|
+
// Roughly this looks like:
|
468
|
+
// 0 500
|
469
|
+
// |------------- EvaluateScript -------------|
|
470
|
+
// |- v8.run -|
|
471
|
+
// |--| |- a -||- b |
|
472
|
+
// ^ V8.ParseFunction
|
473
|
+
|
467
474
|
const allEntries = Trace.Helpers.Trace.mergeEventsInOrder(traceEvents, profileCalls);
|
468
475
|
const {tree, entryToNode} = Trace.Helpers.TreeHelpers.treify(allEntries, {filter: {has: () => true}});
|
469
476
|
const rootNode = entryToNode.get(evaluateScript);
|
470
|
-
|
477
|
+
// Select something from the middle.
|
478
|
+
const selectedNode = entryToNode.get(v8Run);
|
471
479
|
|
472
480
|
assert.strictEqual(tree.roots.size, 1);
|
473
481
|
assert.exists(rootNode);
|
474
482
|
assert.exists(selectedNode);
|
475
483
|
|
476
|
-
const
|
477
|
-
const
|
478
|
-
|
479
|
-
|
480
|
-
assert.exists(
|
481
|
-
|
482
|
-
|
483
|
-
|
484
|
-
|
485
|
-
|
486
|
-
|
487
|
-
|
488
|
-
|
489
|
-
|
490
|
-
|
491
|
-
|
492
|
-
|
493
|
-
|
494
|
-
|
495
|
-
|
496
|
-
|
497
|
-
|
498
|
-
|
499
|
-
|
500
|
-
|
501
|
-
|
502
|
-
|
503
|
-
);
|
504
|
-
|
505
|
-
|
506
|
-
|
507
|
-
assert.
|
484
|
+
const aiNodeTree = Trace.Helpers.TreeHelpers.AINode.fromEntryNode(selectedNode, () => true);
|
485
|
+
const v8RunNode = Trace.Helpers.TreeHelpers.AINode.getSelectedNodeWithinTree(aiNodeTree);
|
486
|
+
|
487
|
+
assert.exists(aiNodeTree);
|
488
|
+
assert.exists(v8RunNode);
|
489
|
+
|
490
|
+
// First check the serialization as a while.
|
491
|
+
assert.deepStrictEqual(JSON.parse(JSON.stringify(aiNodeTree)), {
|
492
|
+
name: 'EvaluateScript',
|
493
|
+
dur: 0.5,
|
494
|
+
self: 0,
|
495
|
+
children: [{
|
496
|
+
selected: true,
|
497
|
+
name: 'v8.run',
|
498
|
+
dur: 0.5,
|
499
|
+
self: 0.1,
|
500
|
+
children: [
|
501
|
+
{name: 'V8.ParseFunction', dur: 0, self: 0},
|
502
|
+
{name: 'a', url: '', dur: 0.2, self: 0.2},
|
503
|
+
{name: 'b', url: '', dur: 0.2, self: 0.2},
|
504
|
+
],
|
505
|
+
}],
|
506
|
+
});
|
507
|
+
|
508
|
+
// Now we can make sure the pre-serialized data is also correct.
|
509
|
+
assert.strictEqual(v8RunNode.name, 'v8.run');
|
510
|
+
assert.strictEqual(v8RunNode.selected, true);
|
511
|
+
assert.strictEqual(v8RunNode.duration, 0.49);
|
512
|
+
assert.strictEqual(v8RunNode.children?.length, 3);
|
513
|
+
|
514
|
+
assert.strictEqual(aiNodeTree.name, 'EvaluateScript');
|
515
|
+
assert.strictEqual(aiNodeTree.selected, undefined);
|
516
|
+
assert.strictEqual(aiNodeTree.duration, 0.5);
|
517
|
+
assert.strictEqual(aiNodeTree.children?.length, 1);
|
518
|
+
|
519
|
+
const parseFnAINode = v8RunNode.children?.at(0) as Trace.Helpers.TreeHelpers.AINode;
|
520
|
+
assert.exists(v8RunNode);
|
521
|
+
|
522
|
+
assert.strictEqual(parseFnAINode.name, 'V8.ParseFunction');
|
523
|
+
assert.strictEqual(parseFnAINode.selected, undefined);
|
524
|
+
assert.strictEqual(parseFnAINode.duration, 0.001);
|
525
|
+
assert.strictEqual(parseFnAINode.children, undefined);
|
508
526
|
});
|
509
527
|
});
|
510
528
|
});
|
@@ -27,6 +27,7 @@ export interface TraceEntryTree {
|
|
27
27
|
maxDepth: number;
|
28
28
|
}
|
29
29
|
|
30
|
+
/** Node in the graph that defines all parent/child relationships. */
|
30
31
|
export interface TraceEntryNode {
|
31
32
|
entry: Types.Events.Event;
|
32
33
|
depth: number;
|
@@ -36,69 +37,105 @@ export interface TraceEntryNode {
|
|
36
37
|
children: TraceEntryNode[];
|
37
38
|
}
|
38
39
|
|
40
|
+
export interface AINodeSerialized {
|
41
|
+
name: string;
|
42
|
+
dur?: number;
|
43
|
+
self?: number;
|
44
|
+
children?: AINodeSerialized[];
|
45
|
+
url?: string;
|
46
|
+
selected?: boolean;
|
47
|
+
}
|
48
|
+
|
39
49
|
/**
|
40
|
-
*
|
50
|
+
* Node in a graph simplified for AI Assistance processing. The graph mirrors the TraceEntryNode one.
|
51
|
+
* Huge tip of the hat to Victor Porof for prototyping this with some great work: https://crrev.com/c/5711249
|
41
52
|
*/
|
42
|
-
export class
|
53
|
+
export class AINode {
|
54
|
+
// event: Types.Events.Event; // Set in the constructor.
|
55
|
+
name: string;
|
56
|
+
duration?: Types.Timing.MilliSeconds;
|
57
|
+
selfDuration?: Types.Timing.MilliSeconds;
|
43
58
|
id?: TraceEntryNodeId;
|
44
|
-
|
45
|
-
|
46
|
-
column?: number;
|
47
|
-
function?: string;
|
48
|
-
children?: TraceEntryNodeForAI[];
|
59
|
+
children?: AINode[];
|
60
|
+
url?: string;
|
49
61
|
selected?: boolean;
|
50
62
|
|
51
|
-
constructor(
|
52
|
-
|
53
|
-
|
54
|
-
}
|
63
|
+
constructor(public event: Types.Events.Event) {
|
64
|
+
this.name = event.name;
|
65
|
+
this.duration = event.dur === undefined ? undefined : microSecondsToMilliseconds(event.dur);
|
55
66
|
|
56
|
-
static #fromTraceEvent(event: Types.Events.Event): TraceEntryNodeForAI {
|
57
|
-
const start = microSecondsToMilliseconds(event.ts);
|
58
|
-
const duration = event.dur === undefined ? undefined : microSecondsToMilliseconds(event.dur);
|
59
|
-
const nodeForAI = new TraceEntryNodeForAI(event.name, start, duration);
|
60
67
|
if (Types.Events.isProfileCall(event)) {
|
61
|
-
|
62
|
-
|
63
|
-
const url = new URL(event.callFrame.url);
|
64
|
-
nodeForAI.domain = url.origin;
|
65
|
-
nodeForAI.line = event.callFrame.lineNumber;
|
66
|
-
nodeForAI.column = event.callFrame.columnNumber;
|
67
|
-
} catch (e) {
|
68
|
-
}
|
68
|
+
this.name = event.callFrame.functionName || '(anonymous)';
|
69
|
+
this.url = event.callFrame.url;
|
69
70
|
}
|
70
|
-
|
71
|
+
}
|
72
|
+
|
73
|
+
// Manually handle how nodes in this tree are serialized. We'll drop serveral properties that we don't need in the JSON string.
|
74
|
+
// FYI: toJSON() is invoked implicitly via JSON.stringify()
|
75
|
+
toJSON(): AINodeSerialized {
|
76
|
+
return {
|
77
|
+
selected: this.selected,
|
78
|
+
name: this.name,
|
79
|
+
url: this.url,
|
80
|
+
// Round milliseconds because we don't need the precision
|
81
|
+
dur: this.duration === undefined ? undefined : Math.round(this.duration * 10) / 10,
|
82
|
+
self: this.selfDuration === undefined ? undefined : Math.round(this.selfDuration * 10) / 10,
|
83
|
+
children: this.children?.length ? this.children : undefined,
|
84
|
+
};
|
85
|
+
}
|
86
|
+
|
87
|
+
static #fromTraceEvent(event: Types.Events.Event): AINode {
|
88
|
+
return new AINode(event);
|
71
89
|
}
|
72
90
|
|
73
91
|
/**
|
74
|
-
* Builds a TraceEntryNodeForAI tree from a
|
92
|
+
* Builds a TraceEntryNodeForAI tree from a node and marks the selected node. Primary entrypoint from EntriesFilter
|
75
93
|
*/
|
76
|
-
static
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
94
|
+
static fromEntryNode(selectedNode: TraceEntryNode, entryIsVisibleInTimeline: (event: Types.Events.Event) => boolean):
|
95
|
+
AINode {
|
96
|
+
/**
|
97
|
+
* Builds a AINode tree from a TraceEntryNode tree and marks the selected node.
|
98
|
+
*/
|
99
|
+
function fromEntryNodeAndTree(node: TraceEntryNode): AINode {
|
100
|
+
const aiNode = AINode.#fromTraceEvent(node.entry);
|
101
|
+
aiNode.id = node.id;
|
102
|
+
if (node === selectedNode) {
|
103
|
+
aiNode.selected = true;
|
104
|
+
}
|
105
|
+
aiNode.selfDuration = node.selfTime === undefined ? undefined : microSecondsToMilliseconds(node.selfTime);
|
106
|
+
for (const child of node.children) {
|
107
|
+
aiNode.children ??= [];
|
108
|
+
aiNode.children.push(fromEntryNodeAndTree(child));
|
109
|
+
}
|
110
|
+
return aiNode;
|
86
111
|
}
|
87
|
-
return nodeForAI;
|
88
|
-
}
|
89
112
|
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
113
|
+
function findTopMostVisibleAncestor(node: TraceEntryNode): TraceEntryNode {
|
114
|
+
const parentNodes = [node];
|
115
|
+
let parent = node.parent;
|
116
|
+
while (parent) {
|
117
|
+
parentNodes.unshift(parent);
|
118
|
+
parent = parent.parent;
|
94
119
|
}
|
95
|
-
return node;
|
120
|
+
return parentNodes.find(node => entryIsVisibleInTimeline(node.entry)) ?? node;
|
96
121
|
}
|
97
122
|
|
98
|
-
|
123
|
+
const topMostVisibleRoot = findTopMostVisibleAncestor(selectedNode);
|
124
|
+
const aiNode = fromEntryNodeAndTree(topMostVisibleRoot);
|
125
|
+
|
126
|
+
// If our root wasn't visible, this could return an array of multiple RunTasks.
|
127
|
+
// But with a visible root, we safely get back the exact same root, now with its descendent tree updated.
|
128
|
+
// Filter to ensure our tree here only has "visible" entries
|
129
|
+
const [filteredAiNodeRoot] = AINode.#filterRecursive([aiNode], node => {
|
130
|
+
if (node.event.name === 'V8.CompileCode' || node.event.name === 'UpdateCounters') {
|
131
|
+
return false;
|
132
|
+
}
|
133
|
+
return entryIsVisibleInTimeline(node.event);
|
134
|
+
});
|
135
|
+
return filteredAiNodeRoot;
|
99
136
|
}
|
100
137
|
|
101
|
-
static
|
138
|
+
static getSelectedNodeWithinTree(node: AINode): AINode|null {
|
102
139
|
if (node.selected) {
|
103
140
|
return node;
|
104
141
|
}
|
@@ -106,13 +143,66 @@ export class TraceEntryNodeForAI {
|
|
106
143
|
return null;
|
107
144
|
}
|
108
145
|
for (const child of node.children) {
|
109
|
-
const returnedNode =
|
146
|
+
const returnedNode = AINode.getSelectedNodeWithinTree(child);
|
110
147
|
if (returnedNode) {
|
111
148
|
return returnedNode;
|
112
149
|
}
|
113
150
|
}
|
114
151
|
return null;
|
115
152
|
}
|
153
|
+
|
154
|
+
static #filterRecursive(list: AINode[], predicate: (node: AINode) => boolean): AINode[] {
|
155
|
+
let done;
|
156
|
+
do {
|
157
|
+
done = true;
|
158
|
+
const filtered: AINode[] = [];
|
159
|
+
for (const node of list) {
|
160
|
+
if (predicate(node)) {
|
161
|
+
// Keep it
|
162
|
+
filtered.push(node);
|
163
|
+
} else if (node.children) {
|
164
|
+
filtered.push(...node.children);
|
165
|
+
done = false;
|
166
|
+
}
|
167
|
+
}
|
168
|
+
list = filtered;
|
169
|
+
} while (!done);
|
170
|
+
|
171
|
+
for (const node of list) {
|
172
|
+
if (node.children) {
|
173
|
+
node.children = AINode.#filterRecursive(node.children, predicate);
|
174
|
+
}
|
175
|
+
}
|
176
|
+
return list;
|
177
|
+
}
|
178
|
+
|
179
|
+
static #removeInexpensiveNodesRecursively(
|
180
|
+
list: AINode[],
|
181
|
+
options?: {minDuration?: number, minSelf?: number, minJsDuration?: number, minJsSelf?: number}): AINode[] {
|
182
|
+
const minDuration = options?.minDuration ?? 0;
|
183
|
+
const minSelf = options?.minSelf ?? 0;
|
184
|
+
const minJsDuration = options?.minJsDuration ?? 0;
|
185
|
+
const minJsSelf = options?.minJsSelf ?? 0;
|
186
|
+
|
187
|
+
const isJS = (node: AINode): boolean => Boolean(node.url);
|
188
|
+
const longEnough = (node: AINode): boolean =>
|
189
|
+
node.duration === undefined || node.duration >= (isJS(node) ? minJsDuration : minDuration);
|
190
|
+
const selfLongEnough = (node: AINode): boolean =>
|
191
|
+
node.selfDuration === undefined || node.selfDuration >= (isJS(node) ? minJsSelf : minSelf);
|
192
|
+
|
193
|
+
return AINode.#filterRecursive(list, node => longEnough(node) && selfLongEnough(node));
|
194
|
+
}
|
195
|
+
|
196
|
+
// Invoked from DrJonesPerformanceAgent
|
197
|
+
sanitize(): void {
|
198
|
+
if (this.children) {
|
199
|
+
this.children = AINode.#removeInexpensiveNodesRecursively(this.children, {
|
200
|
+
minDuration: Types.Timing.MilliSeconds(1),
|
201
|
+
minJsDuration: Types.Timing.MilliSeconds(1),
|
202
|
+
minJsSelf: Types.Timing.MilliSeconds(0.1),
|
203
|
+
});
|
204
|
+
}
|
205
|
+
}
|
116
206
|
}
|
117
207
|
|
118
208
|
class TraceEntryNodeIdTag {
|
@@ -189,6 +189,28 @@ describeWithEnvironment('CumulativeLayoutShift', function() {
|
|
189
189
|
assert.isOk(shift3);
|
190
190
|
assert.isEmpty(shift3[1].fontRequests);
|
191
191
|
});
|
192
|
+
|
193
|
+
it('handles potential unsized images root cause correctly', async function() {
|
194
|
+
const {data, insights} = await processTrace(this, 'unsized-images.json.gz');
|
195
|
+
const firstNav = getFirstOrError(data.Meta.navigationsByNavigationId.values());
|
196
|
+
const insight = getInsightOrError('CumulativeLayoutShift', insights, firstNav);
|
197
|
+
const {shifts} = insight;
|
198
|
+
assert.exists(shifts);
|
199
|
+
assert.strictEqual(shifts.size, 2);
|
200
|
+
|
201
|
+
const unsizedImages = data.LayoutShifts.layoutImageUnsizedEvents;
|
202
|
+
assert.strictEqual(unsizedImages.length, 2);
|
203
|
+
|
204
|
+
const layoutShiftEvents = Array.from(shifts.entries());
|
205
|
+
const shift1 = layoutShiftEvents.at(0);
|
206
|
+
assert.isOk(shift1);
|
207
|
+
// Root cause should match the nodeId of the unsized images events.
|
208
|
+
assert.strictEqual(shift1[1].unsizedImages[0], unsizedImages[0].args.data.nodeId);
|
209
|
+
|
210
|
+
const shift2 = layoutShiftEvents.at(1);
|
211
|
+
assert.isOk(shift2);
|
212
|
+
assert.strictEqual(shift2[1].unsizedImages[0], unsizedImages[1].args.data.nodeId);
|
213
|
+
});
|
192
214
|
});
|
193
215
|
});
|
194
216
|
describe('clusters', function() {
|
@@ -3,6 +3,7 @@
|
|
3
3
|
// found in the LICENSE file.
|
4
4
|
|
5
5
|
import * as Platform from '../../../core/platform/platform.js';
|
6
|
+
import type * as Protocol from '../../../generated/protocol.js';
|
6
7
|
import * as Helpers from '../helpers/helpers.js';
|
7
8
|
import * as Types from '../types/types.js';
|
8
9
|
|
@@ -146,17 +147,23 @@ const ACTIONABLE_FAILURE_REASONS = [
|
|
146
147
|
|
147
148
|
// 500ms window.
|
148
149
|
// Use this window to consider events and requests that may have caused a layout shift.
|
149
|
-
const
|
150
|
+
const ROOT_CAUSE_WINDOW = Helpers.Timing.secondsToMicroseconds(Types.Timing.Seconds(0.5));
|
150
151
|
|
151
152
|
export interface LayoutShiftRootCausesData {
|
152
153
|
iframeIds: string[];
|
153
154
|
fontRequests: Types.Events.SyntheticNetworkRequest[];
|
154
155
|
nonCompositedAnimations: NoncompositedAnimationFailure[];
|
156
|
+
unsizedImages: Protocol.DOM.BackendNodeId[];
|
155
157
|
}
|
156
158
|
|
157
|
-
|
159
|
+
/**
|
160
|
+
* Returns if an event happens within the root cause window, before the target event.
|
161
|
+
* ROOT_CAUSE_WINDOW v target event
|
162
|
+
* |------------------------|=======================
|
163
|
+
*/
|
164
|
+
function isInRootCauseWindow(event: Types.Events.Event, targetEvent: Types.Events.Event): boolean {
|
158
165
|
const eventEnd = event.dur ? event.ts + event.dur : event.ts;
|
159
|
-
return eventEnd < targetEvent.ts && eventEnd >= targetEvent.ts -
|
166
|
+
return eventEnd < targetEvent.ts && eventEnd >= targetEvent.ts - ROOT_CAUSE_WINDOW;
|
160
167
|
}
|
161
168
|
|
162
169
|
export function getNonCompositedFailure(animationEvent: Types.Events.SyntheticAnimationPair):
|
@@ -205,14 +212,14 @@ function getNonCompositedFailureRootCauses(
|
|
205
212
|
}
|
206
213
|
allAnimationFailures.push(...failures);
|
207
214
|
|
208
|
-
const nextPrePaint =
|
215
|
+
const nextPrePaint = getNextEvent(prePaintEvents, animation) as Types.Events.PrePaint | null;
|
209
216
|
// If no following prePaint, this is not a root cause.
|
210
217
|
if (!nextPrePaint) {
|
211
218
|
continue;
|
212
219
|
}
|
213
220
|
|
214
|
-
// If the animation event is outside the
|
215
|
-
if (!
|
221
|
+
// If the animation event is outside the ROOT_CAUSE_WINDOW, it could not be a root cause.
|
222
|
+
if (!isInRootCauseWindow(animation, nextPrePaint)) {
|
216
223
|
continue;
|
217
224
|
}
|
218
225
|
|
@@ -269,19 +276,18 @@ function getShiftsByPrePaintEvents(
|
|
269
276
|
}
|
270
277
|
|
271
278
|
/**
|
272
|
-
*
|
279
|
+
* Given a source event list, this returns the first event of that list that directly follows the target event.
|
273
280
|
*/
|
274
|
-
function
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
prePaintEvents, prePaint => prePaint.ts > targetEvent.ts + (targetEvent.dur || 0));
|
281
|
+
function getNextEvent(sourceEvents: Types.Events.Event[], targetEvent: Types.Events.Event): Types.Events.Event|
|
282
|
+
undefined {
|
283
|
+
const index = Platform.ArrayUtilities.nearestIndexFromBeginning(
|
284
|
+
sourceEvents, source => source.ts > targetEvent.ts + (targetEvent.dur || 0));
|
279
285
|
// No PrePaint event registered after this event
|
280
|
-
if (
|
286
|
+
if (index === null) {
|
281
287
|
return undefined;
|
282
288
|
}
|
283
289
|
|
284
|
-
return
|
290
|
+
return sourceEvents[index];
|
285
291
|
}
|
286
292
|
|
287
293
|
/**
|
@@ -294,7 +300,7 @@ function getIframeRootCauses(
|
|
294
300
|
rootCausesByShift: Map<Types.Events.LayoutShift, LayoutShiftRootCausesData>,
|
295
301
|
domLoadingEvents: readonly Types.Events.DomLoading[]): Map<Types.Events.LayoutShift, LayoutShiftRootCausesData> {
|
296
302
|
for (const iframeEvent of iframeCreatedEvents) {
|
297
|
-
const nextPrePaint =
|
303
|
+
const nextPrePaint = getNextEvent(prePaintEvents, iframeEvent) as Types.Events.PrePaint | null;
|
298
304
|
// If no following prePaint, this is not a root cause.
|
299
305
|
if (!nextPrePaint) {
|
300
306
|
continue;
|
@@ -324,10 +330,43 @@ function getIframeRootCauses(
|
|
324
330
|
return rootCausesByShift;
|
325
331
|
}
|
326
332
|
|
333
|
+
/**
|
334
|
+
* An unsized image is considered a root cause if its PaintImage can be correlated to a
|
335
|
+
* layout shift. We can correlate PaintImages with unsized images by their matching nodeIds.
|
336
|
+
* X <- layout shift
|
337
|
+
* |----------------|
|
338
|
+
* ^ PrePaint event |-----|
|
339
|
+
* ^ PaintImage
|
340
|
+
*/
|
341
|
+
function getUnsizedImageRootCauses(
|
342
|
+
unsizedImageEvents: readonly Types.Events.LayoutImageUnsized[], paintImageEvents: Types.Events.PaintImage[],
|
343
|
+
shiftsByPrePaint: Map<Types.Events.PrePaint, Types.Events.LayoutShift[]>,
|
344
|
+
rootCausesByShift: Map<Types.Events.LayoutShift, LayoutShiftRootCausesData>):
|
345
|
+
Map<Types.Events.LayoutShift, LayoutShiftRootCausesData> {
|
346
|
+
shiftsByPrePaint.forEach((shifts, prePaint) => {
|
347
|
+
const paintImage = getNextEvent(paintImageEvents, prePaint) as Types.Events.PaintImage | null;
|
348
|
+
// The unsized image corresponds to this PaintImage.
|
349
|
+
const matchingNode =
|
350
|
+
unsizedImageEvents.find(unsizedImage => unsizedImage.args.data.nodeId === paintImage?.args.data.nodeId);
|
351
|
+
if (!matchingNode) {
|
352
|
+
return;
|
353
|
+
}
|
354
|
+
// The unsized image is a potential root cause of all the shifts of this prePaint.
|
355
|
+
for (const shift of shifts) {
|
356
|
+
const rootCausesForShift = rootCausesByShift.get(shift);
|
357
|
+
if (!rootCausesForShift) {
|
358
|
+
throw new Error('Unaccounted shift');
|
359
|
+
}
|
360
|
+
rootCausesForShift.unsizedImages.push(matchingNode.args.data.nodeId);
|
361
|
+
}
|
362
|
+
});
|
363
|
+
return rootCausesByShift;
|
364
|
+
}
|
365
|
+
|
327
366
|
/**
|
328
367
|
* A font request is considered a root cause if the request occurs before a prePaint event
|
329
368
|
* and within this prePaint event a layout shift(s) occurs. Additionally, this font request should
|
330
|
-
* happen within the
|
369
|
+
* happen within the ROOT_CAUSE_WINDOW of the prePaint event.
|
331
370
|
*/
|
332
371
|
function getFontRootCauses(
|
333
372
|
networkRequests: Types.Events.SyntheticNetworkRequest[], prePaintEvents: Types.Events.PrePaint[],
|
@@ -338,13 +377,13 @@ function getFontRootCauses(
|
|
338
377
|
networkRequests.filter(req => req.args.data.resourceType === 'Font' && req.args.data.mimeType.startsWith('font'));
|
339
378
|
|
340
379
|
for (const req of fontRequests) {
|
341
|
-
const nextPrePaint =
|
380
|
+
const nextPrePaint = getNextEvent(prePaintEvents, req) as Types.Events.PrePaint | null;
|
342
381
|
if (!nextPrePaint) {
|
343
382
|
continue;
|
344
383
|
}
|
345
384
|
|
346
|
-
// If the req is outside the
|
347
|
-
if (!
|
385
|
+
// If the req is outside the ROOT_CAUSE_WINDOW, it could not be a root cause.
|
386
|
+
if (!isInRootCauseWindow(req, nextPrePaint)) {
|
348
387
|
continue;
|
349
388
|
}
|
350
389
|
|
@@ -374,6 +413,7 @@ export function generateInsight(parsedTrace: RequiredData<typeof deps>, context:
|
|
374
413
|
const iframeEvents = parsedTrace.LayoutShifts.renderFrameImplCreateChildFrameEvents.filter(isWithinContext);
|
375
414
|
const networkRequests = parsedTrace.NetworkRequests.byTime.filter(isWithinContext);
|
376
415
|
const domLoadingEvents = parsedTrace.LayoutShifts.domLoadingEvents.filter(isWithinContext);
|
416
|
+
const unsizedImageEvents = parsedTrace.LayoutShifts.layoutImageUnsizedEvents.filter(isWithinContext);
|
377
417
|
|
378
418
|
const clusterKey = context.navigation ? context.navigationId : Types.Events.NO_NAVIGATION;
|
379
419
|
const clusters = parsedTrace.LayoutShifts.clustersByNavigationId.get(clusterKey) ?? [];
|
@@ -381,18 +421,20 @@ export function generateInsight(parsedTrace: RequiredData<typeof deps>, context:
|
|
381
421
|
const worstCluster = clustersByScore.at(0);
|
382
422
|
const layoutShifts = clusters.flatMap(cluster => cluster.events);
|
383
423
|
const prePaintEvents = parsedTrace.LayoutShifts.prePaintEvents.filter(isWithinContext);
|
424
|
+
const paintImageEvents = parsedTrace.LayoutShifts.paintImageEvents.filter(isWithinContext);
|
384
425
|
|
385
426
|
// Get root causes.
|
386
427
|
const rootCausesByShift = new Map<Types.Events.SyntheticLayoutShift, LayoutShiftRootCausesData>();
|
387
428
|
const shiftsByPrePaint = getShiftsByPrePaintEvents(layoutShifts, prePaintEvents);
|
388
429
|
|
389
430
|
for (const shift of layoutShifts) {
|
390
|
-
rootCausesByShift.set(shift, {iframeIds: [], fontRequests: [], nonCompositedAnimations: []});
|
431
|
+
rootCausesByShift.set(shift, {iframeIds: [], fontRequests: [], nonCompositedAnimations: [], unsizedImages: []});
|
391
432
|
}
|
392
433
|
|
393
434
|
// Populate root causes for rootCausesByShift.
|
394
435
|
getIframeRootCauses(iframeEvents, prePaintEvents, shiftsByPrePaint, rootCausesByShift, domLoadingEvents);
|
395
436
|
getFontRootCauses(networkRequests, prePaintEvents, shiftsByPrePaint, rootCausesByShift);
|
437
|
+
getUnsizedImageRootCauses(unsizedImageEvents, paintImageEvents, shiftsByPrePaint, rootCausesByShift);
|
396
438
|
const animationFailures =
|
397
439
|
getNonCompositedFailureRootCauses(compositeAnimationEvents, prePaintEvents, shiftsByPrePaint, rootCausesByShift);
|
398
440
|
|