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
@@ -319,6 +319,10 @@ export class TraceProcessor extends EventTarget {
|
|
319
319
|
const processedNavigation = LanternComputationData.createProcessedNavigation(parsedTrace, frameId, navigationId);
|
320
320
|
|
321
321
|
const networkAnalysis = Lantern.Core.NetworkAnalyzer.analyze(requests);
|
322
|
+
if (!networkAnalysis) {
|
323
|
+
return;
|
324
|
+
}
|
325
|
+
|
322
326
|
const simulator: Lantern.Simulation.Simulator<Types.Events.SyntheticNetworkRequest> =
|
323
327
|
Lantern.Simulation.Simulator.createSimulator({
|
324
328
|
// TODO(crbug.com/372674229): if devtools throttling was on, does this network analysis capture
|
@@ -451,7 +455,7 @@ export class TraceProcessor extends EventTarget {
|
|
451
455
|
} else if (!expectedErrors.some(err => e.message === err)) {
|
452
456
|
// To reduce noise from tests, only print errors that are not expected to occur because a trace is
|
453
457
|
// too old (for which there is no single check).
|
454
|
-
console.error(e
|
458
|
+
console.error(e);
|
455
459
|
}
|
456
460
|
}
|
457
461
|
|
@@ -0,0 +1,117 @@
|
|
1
|
+
// Copyright 2024 The Chromium Authors. All rights reserved.
|
2
|
+
// Use of this source code is governed by a BSD-style license that can be
|
3
|
+
// found in the LICENSE file.
|
4
|
+
|
5
|
+
import {describeWithEnvironment} from '../../../testing/EnvironmentHelpers.js';
|
6
|
+
import {TraceLoader} from '../../../testing/TraceLoader.js';
|
7
|
+
import * as Trace from '../trace.js';
|
8
|
+
|
9
|
+
describeWithEnvironment('ThirdParties', function() {
|
10
|
+
describe('Entities', function() {
|
11
|
+
it('correctly makes up entities', async function() {
|
12
|
+
const expectedEntities = new Map<string, string>([
|
13
|
+
['http://localhost:8080/', 'localhost'],
|
14
|
+
['https://fonts.googleapis.com/css2?family=Orelega+One&display=swap', 'googleapis.com'],
|
15
|
+
['https://emp.bbci.co.uk/emp/bump-4/bump-4.js', 'bbci.co.uk'],
|
16
|
+
['http://localhost:8080/blocking.js', 'localhost'],
|
17
|
+
['https://fonts.gstatic.com/s/orelegaone/v1/3qTpojOggD2XtAdFb-QXZFt93kY.woff2', 'gstatic.com'],
|
18
|
+
['chrome-extension://chromeextension/something/exciting.js', 'chromeextension'],
|
19
|
+
]);
|
20
|
+
|
21
|
+
for (const [url, expectedEntity] of expectedEntities.entries()) {
|
22
|
+
const gotEntity =
|
23
|
+
Trace.Extras.ThirdParties.makeUpEntity(new Map<string, Trace.Extras.ThirdParties.Entity>(), url)?.name ??
|
24
|
+
'';
|
25
|
+
assert.deepEqual(gotEntity, expectedEntity);
|
26
|
+
}
|
27
|
+
});
|
28
|
+
it('coreectly makes up chrome extension entity', async function() {
|
29
|
+
const url = 'chrome-extension://chromeextension/something/exciting.js';
|
30
|
+
const gotEntity =
|
31
|
+
Trace.Extras.ThirdParties.makeUpEntity(new Map<string, Trace.Extras.ThirdParties.Entity>(), url);
|
32
|
+
assert.exists(gotEntity);
|
33
|
+
|
34
|
+
assert.deepEqual(gotEntity.name, 'chromeextension');
|
35
|
+
assert.deepEqual(gotEntity.category, 'Chrome Extension');
|
36
|
+
assert.deepEqual(gotEntity.homepage, 'https://chromewebstore.google.com/detail/chromeextension');
|
37
|
+
});
|
38
|
+
it('gets correct entitiesByRequest', async function() {
|
39
|
+
const {parsedTrace} = await TraceLoader.traceEngine(this, 'load-simple.json.gz');
|
40
|
+
const reqs = parsedTrace.NetworkRequests.byTime;
|
41
|
+
|
42
|
+
const got = Trace.Extras.ThirdParties.getEntitiesByRequest(reqs);
|
43
|
+
const gotEntityByRequest = [...got.entityByRequest.entries()].map(([req, entity]) => {
|
44
|
+
return [req.args.data.url, entity.name];
|
45
|
+
});
|
46
|
+
|
47
|
+
assert.deepEqual(gotEntityByRequest, [
|
48
|
+
['http://localhost:8080/', 'localhost'],
|
49
|
+
['https://fonts.googleapis.com/css2?family=Orelega+One&display=swap', 'Google Fonts'],
|
50
|
+
['http://localhost:8080/styles.css', 'localhost'],
|
51
|
+
['http://localhost:8080/blocking.js', 'localhost'],
|
52
|
+
['http://localhost:8080/module.js', 'localhost'],
|
53
|
+
['https://fonts.gstatic.com/s/orelegaone/v1/3qTpojOggD2XtAdFb-QXZFt93kY.woff2', 'Google Fonts'],
|
54
|
+
]);
|
55
|
+
});
|
56
|
+
});
|
57
|
+
describe('byTraceBounds', function() {
|
58
|
+
it('full trace bounds', async function() {
|
59
|
+
const {parsedTrace} = await TraceLoader.traceEngine(this, 'load-simple.json.gz');
|
60
|
+
const reqs = parsedTrace.NetworkRequests.byTime;
|
61
|
+
|
62
|
+
const {entityByRequest} = Trace.Extras.ThirdParties.getSummariesAndEntitiesForTraceBounds(
|
63
|
+
parsedTrace, parsedTrace.Meta.traceBounds, reqs);
|
64
|
+
|
65
|
+
const gotEntityByRequest = [...entityByRequest.entries()].map(([req, entity]) => {
|
66
|
+
return [req.args.data.url, entity.name];
|
67
|
+
});
|
68
|
+
|
69
|
+
assert.deepEqual(gotEntityByRequest, [
|
70
|
+
['http://localhost:8080/', 'localhost'],
|
71
|
+
['https://fonts.googleapis.com/css2?family=Orelega+One&display=swap', 'Google Fonts'],
|
72
|
+
['http://localhost:8080/styles.css', 'localhost'],
|
73
|
+
['http://localhost:8080/blocking.js', 'localhost'],
|
74
|
+
['http://localhost:8080/module.js', 'localhost'],
|
75
|
+
['https://fonts.gstatic.com/s/orelegaone/v1/3qTpojOggD2XtAdFb-QXZFt93kY.woff2', 'Google Fonts'],
|
76
|
+
]);
|
77
|
+
});
|
78
|
+
it('partial trace bounds', async function() {
|
79
|
+
const {parsedTrace} = await TraceLoader.traceEngine(this, 'load-simple.json.gz');
|
80
|
+
const reqs = parsedTrace.NetworkRequests.byTime;
|
81
|
+
|
82
|
+
// Font requests of load-simple.json.gz begin & end before/after this bounds.
|
83
|
+
const min = Trace.Types.Timing.MicroSeconds(1634222300000);
|
84
|
+
const max = Trace.Types.Timing.MicroSeconds(1634222320000);
|
85
|
+
const middle = {min, max, range: Trace.Types.Timing.MicroSeconds(max - min)};
|
86
|
+
|
87
|
+
const {entityByRequest} =
|
88
|
+
Trace.Extras.ThirdParties.getSummariesAndEntitiesForTraceBounds(parsedTrace, middle, reqs);
|
89
|
+
const gotEntityByRequest = [...entityByRequest.entries()].map(([req, entity]) => {
|
90
|
+
return [req.args.data.url, entity.name];
|
91
|
+
});
|
92
|
+
|
93
|
+
// Only these localhost requests overlap traceBounds.
|
94
|
+
assert.deepEqual(gotEntityByRequest, [
|
95
|
+
['http://localhost:8080/', 'localhost'],
|
96
|
+
['http://localhost:8080/styles.css', 'localhost'],
|
97
|
+
['http://localhost:8080/blocking.js', 'localhost'],
|
98
|
+
['http://localhost:8080/module.js', 'localhost'],
|
99
|
+
]);
|
100
|
+
});
|
101
|
+
it('no requests within trace bounds', async function() {
|
102
|
+
const {parsedTrace} = await TraceLoader.traceEngine(this, 'load-simple.json.gz');
|
103
|
+
const reqs = parsedTrace.NetworkRequests.byTime;
|
104
|
+
|
105
|
+
const min = Trace.Types.Timing.MicroSeconds(1634230000000);
|
106
|
+
const max = Trace.Types.Timing.MicroSeconds(1634231000000);
|
107
|
+
const middle = {min, max, range: Trace.Types.Timing.MicroSeconds(max - min)};
|
108
|
+
|
109
|
+
const {entityByRequest} =
|
110
|
+
Trace.Extras.ThirdParties.getSummariesAndEntitiesForTraceBounds(parsedTrace, middle, reqs);
|
111
|
+
const gotEntityByRequest = [...entityByRequest.entries()].map(([req, entity]) => {
|
112
|
+
return [req.args.data.url, entity.name];
|
113
|
+
});
|
114
|
+
assert.deepEqual(gotEntityByRequest, []);
|
115
|
+
});
|
116
|
+
});
|
117
|
+
});
|
@@ -0,0 +1,207 @@
|
|
1
|
+
// Copyright 2024 The Chromium Authors. All rights reserved.
|
2
|
+
// Use of this source code is governed by a BSD-style license that can be
|
3
|
+
// found in the LICENSE file.
|
4
|
+
|
5
|
+
import * as ThirdPartyWeb from '../../../third_party/third-party-web/third-party-web.js';
|
6
|
+
import type * as Handlers from '../handlers/handlers.js';
|
7
|
+
import * as Helpers from '../helpers/helpers.js';
|
8
|
+
import * as Types from '../types/types.js';
|
9
|
+
|
10
|
+
import * as URLForEntry from './URLForEntry.js';
|
11
|
+
|
12
|
+
export type Entity = typeof ThirdPartyWeb.ThirdPartyWeb.entities[number];
|
13
|
+
|
14
|
+
export interface Summary {
|
15
|
+
transferSize: number;
|
16
|
+
mainThreadTime: Types.Timing.MicroSeconds;
|
17
|
+
}
|
18
|
+
|
19
|
+
export interface SummaryMaps {
|
20
|
+
byEntity: Map<Entity, Summary>;
|
21
|
+
byRequest: Map<Types.Events.SyntheticNetworkRequest, Summary>;
|
22
|
+
requestsByEntity: Map<Entity, Types.Events.SyntheticNetworkRequest[]>;
|
23
|
+
}
|
24
|
+
|
25
|
+
/**
|
26
|
+
* Returns the origin portion of a Chrome extension URL.
|
27
|
+
*/
|
28
|
+
function getChromeExtensionOrigin(url: URL): string {
|
29
|
+
return url.protocol + '//' + url.host;
|
30
|
+
}
|
31
|
+
|
32
|
+
function makeUpChromeExtensionEntity(entityCache: Map<string, Entity>, url: string, extensionName?: string): Entity {
|
33
|
+
const parsedUrl = new URL(url);
|
34
|
+
const origin = getChromeExtensionOrigin(parsedUrl);
|
35
|
+
const host = new URL(origin).host;
|
36
|
+
const name = extensionName || host;
|
37
|
+
|
38
|
+
const cachedEntity = entityCache.get(origin);
|
39
|
+
if (cachedEntity) {
|
40
|
+
return cachedEntity;
|
41
|
+
}
|
42
|
+
|
43
|
+
const chromeExtensionEntity = {
|
44
|
+
name,
|
45
|
+
company: name,
|
46
|
+
category: 'Chrome Extension',
|
47
|
+
homepage: 'https://chromewebstore.google.com/detail/' + host,
|
48
|
+
categories: [],
|
49
|
+
domains: [],
|
50
|
+
averageExecutionTime: 0,
|
51
|
+
totalExecutionTime: 0,
|
52
|
+
totalOccurrences: 0,
|
53
|
+
};
|
54
|
+
|
55
|
+
entityCache.set(origin, chromeExtensionEntity);
|
56
|
+
return chromeExtensionEntity;
|
57
|
+
}
|
58
|
+
|
59
|
+
export function makeUpEntity(entityCache: Map<string, Entity>, url: string): Entity|undefined {
|
60
|
+
if (url.startsWith('chrome-extension:')) {
|
61
|
+
return makeUpChromeExtensionEntity(entityCache, url);
|
62
|
+
}
|
63
|
+
|
64
|
+
// Make up an entity only for valid http/https URLs.
|
65
|
+
if (!url.startsWith('http')) {
|
66
|
+
return;
|
67
|
+
}
|
68
|
+
|
69
|
+
// NOTE: Lighthouse uses a tld database to determine the root domain, but here
|
70
|
+
// we are using third party web's database. Doesn't really work for the case of classifying
|
71
|
+
// domains 3pweb doesn't know about, so it will just give us a guess.
|
72
|
+
const rootDomain = ThirdPartyWeb.ThirdPartyWeb.getRootDomain(url);
|
73
|
+
if (!rootDomain) {
|
74
|
+
return;
|
75
|
+
}
|
76
|
+
|
77
|
+
if (entityCache.has(rootDomain)) {
|
78
|
+
return entityCache.get(rootDomain);
|
79
|
+
}
|
80
|
+
|
81
|
+
const unrecognizedEntity = {
|
82
|
+
name: rootDomain,
|
83
|
+
company: rootDomain,
|
84
|
+
category: '',
|
85
|
+
categories: [],
|
86
|
+
domains: [rootDomain],
|
87
|
+
averageExecutionTime: 0,
|
88
|
+
totalExecutionTime: 0,
|
89
|
+
totalOccurrences: 0,
|
90
|
+
isUnrecognized: true,
|
91
|
+
};
|
92
|
+
entityCache.set(rootDomain, unrecognizedEntity);
|
93
|
+
return unrecognizedEntity;
|
94
|
+
}
|
95
|
+
|
96
|
+
function getSelfTimeByUrl(
|
97
|
+
parsedTrace: Handlers.Types.ParsedTrace, bounds: Types.Timing.TraceWindowMicroSeconds): Map<string, number> {
|
98
|
+
const selfTimeByUrl = new Map<string, number>();
|
99
|
+
|
100
|
+
for (const process of parsedTrace.Renderer.processes.values()) {
|
101
|
+
if (!process.isOnMainFrame) {
|
102
|
+
continue;
|
103
|
+
}
|
104
|
+
|
105
|
+
for (const thread of process.threads.values()) {
|
106
|
+
if (thread.name === 'CrRendererMain') {
|
107
|
+
if (!thread.tree) {
|
108
|
+
break;
|
109
|
+
}
|
110
|
+
|
111
|
+
for (const event of thread.entries) {
|
112
|
+
if (!Helpers.Timing.eventIsInBounds(event, bounds)) {
|
113
|
+
continue;
|
114
|
+
}
|
115
|
+
|
116
|
+
const node = parsedTrace.Renderer.entryToNode.get(event);
|
117
|
+
if (!node || !node.selfTime) {
|
118
|
+
continue;
|
119
|
+
}
|
120
|
+
|
121
|
+
const url = URLForEntry.getNonResolved(parsedTrace as Handlers.Types.ParsedTrace, event);
|
122
|
+
if (!url) {
|
123
|
+
continue;
|
124
|
+
}
|
125
|
+
|
126
|
+
selfTimeByUrl.set(url, node.selfTime + (selfTimeByUrl.get(url) ?? 0));
|
127
|
+
}
|
128
|
+
}
|
129
|
+
}
|
130
|
+
}
|
131
|
+
|
132
|
+
return selfTimeByUrl;
|
133
|
+
}
|
134
|
+
|
135
|
+
export function getEntitiesByRequest(requests: Types.Events.SyntheticNetworkRequest[]):
|
136
|
+
{entityByRequest: Map<Types.Events.SyntheticNetworkRequest, Entity>, madeUpEntityCache: Map<string, Entity>} {
|
137
|
+
const entityByRequest = new Map<Types.Events.SyntheticNetworkRequest, Entity>();
|
138
|
+
const madeUpEntityCache = new Map<string, Entity>();
|
139
|
+
for (const request of requests) {
|
140
|
+
const url = request.args.data.url;
|
141
|
+
const entity = ThirdPartyWeb.ThirdPartyWeb.getEntity(url) ?? makeUpEntity(madeUpEntityCache, url);
|
142
|
+
if (entity) {
|
143
|
+
entityByRequest.set(request, entity);
|
144
|
+
}
|
145
|
+
}
|
146
|
+
return {entityByRequest, madeUpEntityCache};
|
147
|
+
}
|
148
|
+
|
149
|
+
function getSummaryMap(
|
150
|
+
requests: Types.Events.SyntheticNetworkRequest[],
|
151
|
+
entityByRequest: Map<Types.Events.SyntheticNetworkRequest, Entity>,
|
152
|
+
selfTimeByUrl: Map<string, number>): SummaryMaps {
|
153
|
+
const byRequest = new Map<Types.Events.SyntheticNetworkRequest, Summary>();
|
154
|
+
const byEntity = new Map<Entity, Summary>();
|
155
|
+
const defaultSummary: Summary = {transferSize: 0, mainThreadTime: Types.Timing.MicroSeconds(0)};
|
156
|
+
|
157
|
+
for (const request of requests) {
|
158
|
+
const urlSummary = byRequest.get(request) || {...defaultSummary};
|
159
|
+
urlSummary.transferSize += request.args.data.encodedDataLength;
|
160
|
+
urlSummary.mainThreadTime =
|
161
|
+
Types.Timing.MicroSeconds(urlSummary.mainThreadTime + (selfTimeByUrl.get(request.args.data.url) ?? 0));
|
162
|
+
byRequest.set(request, urlSummary);
|
163
|
+
}
|
164
|
+
|
165
|
+
// Map each request's stat to a particular entity.
|
166
|
+
const requestsByEntity = new Map<Entity, Types.Events.SyntheticNetworkRequest[]>();
|
167
|
+
for (const [request, requestSummary] of byRequest.entries()) {
|
168
|
+
const entity = entityByRequest.get(request);
|
169
|
+
if (!entity) {
|
170
|
+
byRequest.delete(request);
|
171
|
+
continue;
|
172
|
+
}
|
173
|
+
|
174
|
+
const entitySummary = byEntity.get(entity) || {...defaultSummary};
|
175
|
+
entitySummary.transferSize += requestSummary.transferSize;
|
176
|
+
entitySummary.mainThreadTime =
|
177
|
+
Types.Timing.MicroSeconds(entitySummary.mainThreadTime + requestSummary.mainThreadTime);
|
178
|
+
byEntity.set(entity, entitySummary);
|
179
|
+
|
180
|
+
const entityRequests = requestsByEntity.get(entity) || [];
|
181
|
+
entityRequests.push(request);
|
182
|
+
requestsByEntity.set(entity, entityRequests);
|
183
|
+
}
|
184
|
+
|
185
|
+
return {byEntity, byRequest, requestsByEntity};
|
186
|
+
}
|
187
|
+
|
188
|
+
export function getSummariesAndEntitiesForTraceBounds(
|
189
|
+
parsedTrace: Handlers.Types.ParsedTrace, traceBounds: Types.Timing.TraceWindowMicroSeconds,
|
190
|
+
networkRequests: Types.Events.SyntheticNetworkRequest[]): {
|
191
|
+
summaries: SummaryMaps,
|
192
|
+
entityByRequest: Map<Types.Events.SyntheticNetworkRequest, Entity>,
|
193
|
+
madeUpEntityCache: Map<string, Entity>,
|
194
|
+
} {
|
195
|
+
// Ensure we only handle requests that are within the given traceBounds.
|
196
|
+
const reqs = networkRequests.filter(event => {
|
197
|
+
return Helpers.Timing.eventIsInBounds(event, traceBounds);
|
198
|
+
});
|
199
|
+
|
200
|
+
const {entityByRequest, madeUpEntityCache} = getEntitiesByRequest(reqs);
|
201
|
+
|
202
|
+
const selfTimeByUrl = getSelfTimeByUrl(parsedTrace, traceBounds);
|
203
|
+
// TODO(crbug.com/352244718): re-work to still collect main thread activity if no request is present
|
204
|
+
const summaries = getSummaryMap(reqs, entityByRequest, selfTimeByUrl);
|
205
|
+
|
206
|
+
return {summaries, entityByRequest, madeUpEntityCache};
|
207
|
+
}
|
@@ -6,4 +6,5 @@ export * as FetchNodes from './FetchNodes.js';
|
|
6
6
|
export * as FilmStrip from './FilmStrip.js';
|
7
7
|
export * as MainThreadActivity from './MainThreadActivity.js';
|
8
8
|
export * as Metadata from './Metadata.js';
|
9
|
+
export * as ThirdParties from './ThirdParties.js';
|
9
10
|
export * as URLForEntry from './URLForEntry.js';
|
@@ -64,8 +64,8 @@ export async function finalize(): Promise<void> {
|
|
64
64
|
}
|
65
65
|
|
66
66
|
export interface FramesData {
|
67
|
-
frames: readonly
|
68
|
-
framesById: Readonly<Record<number,
|
67
|
+
frames: readonly Types.Events.LegacyTimelineFrame[];
|
68
|
+
framesById: Readonly<Record<number, Types.Events.LegacyTimelineFrame|undefined>>;
|
69
69
|
}
|
70
70
|
|
71
71
|
export function data(): FramesData {
|
@@ -385,7 +385,14 @@ const MAIN_FRAME_MARKERS = new Set<Types.Events.Name>([
|
|
385
385
|
Types.Events.Name.SCROLL_LAYER,
|
386
386
|
]);
|
387
387
|
|
388
|
-
|
388
|
+
/**
|
389
|
+
* Legacy class that represents TimelineFrames that was ported from the old SDK.
|
390
|
+
* This class is purposefully not exported as it breaks the abstraction that
|
391
|
+
* every event shown on the timeline is a trace event. Instead, we use the Type
|
392
|
+
* LegacyTimelineFrame to represent frames in the codebase. These do implement
|
393
|
+
* the right interface to be treated just like they were a trace event.
|
394
|
+
*/
|
395
|
+
class TimelineFrame implements Types.Events.LegacyTimelineFrame {
|
389
396
|
// These fields exist to satisfy the base Event type which all
|
390
397
|
// "trace events" must implement. They aren't used, but doing this means we
|
391
398
|
// can pass `TimelineFrame` instances into places that expect
|
@@ -562,8 +569,8 @@ export class TimelineFrameBeginFrameQueue {
|
|
562
569
|
}
|
563
570
|
|
564
571
|
export function framesWithinWindow(
|
565
|
-
frames: readonly
|
566
|
-
endTime: Types.Timing.MicroSeconds):
|
572
|
+
frames: readonly Types.Events.LegacyTimelineFrame[], startTime: Types.Timing.MicroSeconds,
|
573
|
+
endTime: Types.Timing.MicroSeconds): Types.Events.LegacyTimelineFrame[] {
|
567
574
|
const firstFrame = Platform.ArrayUtilities.lowerBound(frames, startTime || 0, (time, frame) => time - frame.endTime);
|
568
575
|
const lastFrame =
|
569
576
|
Platform.ArrayUtilities.lowerBound(frames, endTime || Infinity, (time, frame) => time - frame.startTime);
|
@@ -213,4 +213,44 @@ describe('InitiatorsHandler', () => {
|
|
213
213
|
assert.strictEqual(data.eventToInitiator.get(handlePostMessageEvent), schedulePostMessageEvent);
|
214
214
|
assert.deepEqual(data.initiatorToEvents.get(schedulePostMessageEvent), [handlePostMessageEvent]);
|
215
215
|
});
|
216
|
+
|
217
|
+
it('pairs the postTask-scheduled tasks with their scheduling initiators', async function() {
|
218
|
+
const traceEvents = await TraceLoader.rawEvents(this, 'scheduler-post-task.json.gz');
|
219
|
+
for (const event of traceEvents) {
|
220
|
+
Trace.Handlers.ModelHandlers.Initiators.handleEvent(event);
|
221
|
+
}
|
222
|
+
await Trace.Handlers.ModelHandlers.Initiators.finalize();
|
223
|
+
const data = Trace.Handlers.ModelHandlers.Initiators.data();
|
224
|
+
|
225
|
+
const scheduleEvents = traceEvents.filter(Trace.Types.Events.isSchedulePostTaskCallback);
|
226
|
+
assert.isNotEmpty(scheduleEvents, 'Could not find SchedulePostTaskCallback events');
|
227
|
+
const runEvents = traceEvents.filter(Trace.Types.Events.isRunPostTaskCallback);
|
228
|
+
assert.isNotEmpty(runEvents, 'Could not find RunPostTaskCallback events');
|
229
|
+
const cancelEvents = traceEvents.filter(Trace.Types.Events.isAbortPostTaskCallback);
|
230
|
+
assert.isNotEmpty(cancelEvents, 'Could not find AbortPostTaskCallback events');
|
231
|
+
|
232
|
+
assert.containsAllKeys(data.initiatorToEvents, scheduleEvents, 'Not all schedule events in initiators');
|
233
|
+
|
234
|
+
// All end events have a SchedulePostTaskCallback initiator.
|
235
|
+
for (const endEvent of [...runEvents, ...cancelEvents]) {
|
236
|
+
const initiator = data.eventToInitiator.get(endEvent);
|
237
|
+
assert.exists(initiator);
|
238
|
+
assert(Trace.Types.Events.isSchedulePostTaskCallback(initiator));
|
239
|
+
assert.strictEqual(endEvent.args.data.taskId, initiator.args.data.taskId);
|
240
|
+
|
241
|
+
assert(data.initiatorToEvents.get(initiator)?.includes(endEvent));
|
242
|
+
}
|
243
|
+
|
244
|
+
// There is one task that cancels itself while running, so it has both run and cancel events.
|
245
|
+
const doubleEvents = scheduleEvents.some(scheduleEvent => {
|
246
|
+
const endEvents = data.initiatorToEvents.get(scheduleEvent);
|
247
|
+
if (!endEvents || endEvents.length < 2) {
|
248
|
+
return false;
|
249
|
+
}
|
250
|
+
|
251
|
+
return endEvents.some(Trace.Types.Events.isRunPostTaskCallback) &&
|
252
|
+
endEvents.some(Trace.Types.Events.isAbortPostTaskCallback);
|
253
|
+
});
|
254
|
+
assert(doubleEvents, 'initiator with both run and cancel initiated events not found');
|
255
|
+
});
|
216
256
|
});
|
@@ -39,6 +39,7 @@ const requestAnimationFrameEventsById: Map<number, Types.Events.RequestAnimation
|
|
39
39
|
const timerInstallEventsById: Map<number, Types.Events.TimerInstall> = new Map();
|
40
40
|
const requestIdleCallbackEventsById: Map<number, Types.Events.RequestIdleCallback> = new Map();
|
41
41
|
const webSocketCreateEventsById: Map<number, Types.Events.WebSocketCreate> = new Map();
|
42
|
+
const schedulePostTaskCallbackEventsById: Map<number, Types.Events.SchedulePostTaskCallback> = new Map();
|
42
43
|
|
43
44
|
export function reset(): void {
|
44
45
|
lastScheduleStyleRecalcByFrame.clear();
|
@@ -50,6 +51,7 @@ export function reset(): void {
|
|
50
51
|
requestAnimationFrameEventsById.clear();
|
51
52
|
requestIdleCallbackEventsById.clear();
|
52
53
|
webSocketCreateEventsById.clear();
|
54
|
+
schedulePostTaskCallbackEventsById.clear();
|
53
55
|
schedulePostMessageEventByTraceId.clear();
|
54
56
|
postMessageHandlerEvents.length = 0;
|
55
57
|
|
@@ -168,6 +170,13 @@ export function handleEvent(event: Types.Events.Event): void {
|
|
168
170
|
initiator: matchingCreateEvent,
|
169
171
|
});
|
170
172
|
}
|
173
|
+
} else if (Types.Events.isSchedulePostTaskCallback(event)) {
|
174
|
+
schedulePostTaskCallbackEventsById.set(event.args.data.taskId, event);
|
175
|
+
} else if (Types.Events.isRunPostTaskCallback(event) || Types.Events.isAbortPostTaskCallback(event)) {
|
176
|
+
const matchingSchedule = schedulePostTaskCallbackEventsById.get(event.args.data.taskId);
|
177
|
+
if (matchingSchedule) {
|
178
|
+
storeInitiator({event, initiator: matchingSchedule});
|
179
|
+
}
|
171
180
|
}
|
172
181
|
// Store schedulePostMessage Events by their traceIds.
|
173
182
|
// so they can be reconciled later with matching handlePostMessage events with same traceIds.
|
@@ -46,11 +46,13 @@ interface LayoutShifts {
|
|
46
46
|
// We use these to calculate root causes for a given LayoutShift
|
47
47
|
// TODO(crbug/41484172): should be readonly
|
48
48
|
prePaintEvents: Types.Events.PrePaint[];
|
49
|
+
paintImageEvents: Types.Events.PaintImage[];
|
49
50
|
layoutInvalidationEvents: readonly Types.Events.LayoutInvalidationTracking[];
|
50
51
|
scheduleStyleInvalidationEvents: readonly Types.Events.ScheduleStyleInvalidationTracking[];
|
51
52
|
styleRecalcInvalidationEvents: readonly Types.Events.StyleRecalcInvalidationTracking[];
|
52
53
|
renderFrameImplCreateChildFrameEvents: readonly Types.Events.RenderFrameImplCreateChildFrame[];
|
53
54
|
domLoadingEvents: readonly Types.Events.DomLoading[];
|
55
|
+
layoutImageUnsizedEvents: readonly Types.Events.LayoutImageUnsized[];
|
54
56
|
beginRemoteFontLoadEvents: readonly Types.Events.BeginRemoteFontLoad[];
|
55
57
|
scoreRecords: readonly ScoreRecord[];
|
56
58
|
// TODO(crbug/41484172): should be readonly
|
@@ -81,6 +83,7 @@ const scheduleStyleInvalidationEvents: Types.Events.ScheduleStyleInvalidationTra
|
|
81
83
|
const styleRecalcInvalidationEvents: Types.Events.StyleRecalcInvalidationTracking[] = [];
|
82
84
|
const renderFrameImplCreateChildFrameEvents: Types.Events.RenderFrameImplCreateChildFrame[] = [];
|
83
85
|
const domLoadingEvents: Types.Events.DomLoading[] = [];
|
86
|
+
const layoutImageUnsizedEvents: Types.Events.LayoutImageUnsized[] = [];
|
84
87
|
const beginRemoteFontLoadEvents: Types.Events.BeginRemoteFontLoad[] = [];
|
85
88
|
|
86
89
|
const backendNodeIds = new Set<Protocol.DOM.BackendNodeId>();
|
@@ -91,6 +94,8 @@ const backendNodeIds = new Set<Protocol.DOM.BackendNodeId>();
|
|
91
94
|
// node of such shift.
|
92
95
|
const prePaintEvents: Types.Events.PrePaint[] = [];
|
93
96
|
|
97
|
+
const paintImageEvents: Types.Events.PaintImage[] = [];
|
98
|
+
|
94
99
|
let sessionMaxScore = 0;
|
95
100
|
|
96
101
|
let clsWindowID = -1;
|
@@ -125,7 +130,9 @@ export function reset(): void {
|
|
125
130
|
scheduleStyleInvalidationEvents.length = 0;
|
126
131
|
styleRecalcInvalidationEvents.length = 0;
|
127
132
|
prePaintEvents.length = 0;
|
133
|
+
paintImageEvents.length = 0;
|
128
134
|
renderFrameImplCreateChildFrameEvents.length = 0;
|
135
|
+
layoutImageUnsizedEvents.length = 0;
|
129
136
|
domLoadingEvents.length = 0;
|
130
137
|
beginRemoteFontLoadEvents.length = 0;
|
131
138
|
backendNodeIds.clear();
|
@@ -165,9 +172,15 @@ export function handleEvent(event: Types.Events.Event): void {
|
|
165
172
|
if (Types.Events.isDomLoading(event)) {
|
166
173
|
domLoadingEvents.push(event);
|
167
174
|
}
|
175
|
+
if (Types.Events.isLayoutImageUnsized(event)) {
|
176
|
+
layoutImageUnsizedEvents.push(event);
|
177
|
+
}
|
168
178
|
if (Types.Events.isBeginRemoteFontLoad(event)) {
|
169
179
|
beginRemoteFontLoadEvents.push(event);
|
170
180
|
}
|
181
|
+
if (Types.Events.isPaintImage(event)) {
|
182
|
+
paintImageEvents.push(event);
|
183
|
+
}
|
171
184
|
}
|
172
185
|
|
173
186
|
function traceWindowFromTime(time: Types.Timing.MicroSeconds): Types.Timing.TraceWindowMicroSeconds {
|
@@ -251,7 +264,9 @@ export async function finalize(): Promise<void> {
|
|
251
264
|
layoutInvalidationEvents.sort((a, b) => a.ts - b.ts);
|
252
265
|
renderFrameImplCreateChildFrameEvents.sort((a, b) => a.ts - b.ts);
|
253
266
|
domLoadingEvents.sort((a, b) => a.ts - b.ts);
|
267
|
+
layoutImageUnsizedEvents.sort((a, b) => a.ts - b.ts);
|
254
268
|
beginRemoteFontLoadEvents.sort((a, b) => a.ts - b.ts);
|
269
|
+
paintImageEvents.sort((a, b) => a.ts - b.ts);
|
255
270
|
|
256
271
|
// Each function transforms the data used by the next, as such the invoke order
|
257
272
|
// is important.
|
@@ -508,11 +523,13 @@ export function data(): LayoutShifts {
|
|
508
523
|
styleRecalcInvalidationEvents: [],
|
509
524
|
renderFrameImplCreateChildFrameEvents,
|
510
525
|
domLoadingEvents,
|
526
|
+
layoutImageUnsizedEvents,
|
511
527
|
beginRemoteFontLoadEvents,
|
512
528
|
scoreRecords,
|
513
529
|
// TODO(crbug/41484172): change the type so no need to clone
|
514
530
|
backendNodeIds: [...backendNodeIds],
|
515
531
|
clustersByNavigationId: new Map(clustersByNavigationId),
|
532
|
+
paintImageEvents,
|
516
533
|
};
|
517
534
|
}
|
518
535
|
|
@@ -438,10 +438,10 @@ export async function finalize(): Promise<void> {
|
|
438
438
|
requestId,
|
439
439
|
requestingFrameUrl,
|
440
440
|
requestMethod: finalSendRequest.args.data.requestMethod,
|
441
|
-
resourceType: finalSendRequest.args.data.resourceType,
|
441
|
+
resourceType: finalSendRequest.args.data.resourceType ?? Protocol.Network.ResourceType.Other,
|
442
442
|
statusCode: request.receiveResponse.args.data.statusCode,
|
443
443
|
responseHeaders: request.receiveResponse.args.data.headers || [],
|
444
|
-
fetchPriorityHint: finalSendRequest.args.data.fetchPriorityHint,
|
444
|
+
fetchPriorityHint: finalSendRequest.args.data.fetchPriorityHint ?? 'auto',
|
445
445
|
initiator: finalSendRequest.args.data.initiator,
|
446
446
|
stackTrace: finalSendRequest.args.data.stackTrace,
|
447
447
|
timing,
|
@@ -2,7 +2,7 @@
|
|
2
2
|
// Use of this source code is governed by a BSD-style license that can be
|
3
3
|
// found in the LICENSE file.
|
4
4
|
|
5
|
-
import * as
|
5
|
+
import * as Utils from '../../../panels/timeline/utils/utils.js';
|
6
6
|
import {describeWithEnvironment} from '../../../testing/EnvironmentHelpers.js';
|
7
7
|
import {
|
8
8
|
getAllNodes,
|
@@ -192,7 +192,7 @@ describeWithEnvironment('RendererHandler', function() {
|
|
192
192
|
const isLong = (event: Trace.Types.Events.Event) => Trace.Types.Events.isComplete(event) && event.dur > 1000;
|
193
193
|
const isIncluded = (node: Trace.Helpers.TreeHelpers.TraceEntryNode, event: Trace.Types.Events.Event) =>
|
194
194
|
(!isRoot(node) || isInstant(event) || isLong(event)) &&
|
195
|
-
Boolean(
|
195
|
+
Boolean(Utils.EntryStyles.getEventStyle(event.name as Trace.Types.Events.Name));
|
196
196
|
assert.strictEqual(prettyPrint(tree, isIncluded), `
|
197
197
|
............
|
198
198
|
-RunTask [2.21ms]
|
@@ -391,7 +391,7 @@ describeWithEnvironment('RendererHandler', function() {
|
|
391
391
|
assert(false, 'Main thread has no tree of events');
|
392
392
|
}
|
393
393
|
const isIncluded = (_node: Trace.Helpers.TreeHelpers.TraceEntryNode, event: Trace.Types.Events.Event) =>
|
394
|
-
Boolean(
|
394
|
+
Boolean(Utils.EntryStyles.getEventStyle(event.name as Trace.Types.Events.Name));
|
395
395
|
assert.strictEqual(prettyPrint(tree, isIncluded), `
|
396
396
|
-RunTask [0.13ms]
|
397
397
|
-RunTask [0.005ms]
|
@@ -934,7 +934,7 @@ describeWithEnvironment('RendererHandler', function() {
|
|
934
934
|
const onlyLongTasksPredicate =
|
935
935
|
(_node: Trace.Helpers.TreeHelpers.TraceEntryNode, event: Trace.Types.Events.Event) =>
|
936
936
|
Boolean(event.dur && event.dur > 1000) &&
|
937
|
-
Boolean(
|
937
|
+
Boolean(Utils.EntryStyles.getEventStyle(event.name as Trace.Types.Events.Name));
|
938
938
|
assert.strictEqual(prettyPrint(thread.tree, onlyLongTasksPredicate), `
|
939
939
|
.............
|
940
940
|
-RunTask [17.269ms]
|
@@ -3,6 +3,7 @@
|
|
3
3
|
// found in the LICENSE file.
|
4
4
|
|
5
5
|
import {describeWithEnvironment} from '../../../testing/EnvironmentHelpers.js';
|
6
|
+
import {microsecondsTraceWindow} from '../../../testing/TraceHelpers.js';
|
6
7
|
import {TraceLoader} from '../../../testing/TraceLoader.js';
|
7
8
|
import * as Trace from '../trace.js';
|
8
9
|
|
@@ -351,4 +352,32 @@ describeWithEnvironment('Timing helpers', () => {
|
|
351
352
|
assert.isFalse(timestampIsInBounds(bounds, MicroSeconds(11)));
|
352
353
|
});
|
353
354
|
});
|
355
|
+
|
356
|
+
describe('WindowFitsInsideBounds', () => {
|
357
|
+
const {windowFitsInsideBounds} = Trace.Helpers.Timing;
|
358
|
+
const {MicroSeconds} = Trace.Types.Timing;
|
359
|
+
|
360
|
+
const bounds: Trace.Types.Timing.TraceWindowMicroSeconds = {
|
361
|
+
min: MicroSeconds(5),
|
362
|
+
max: MicroSeconds(15),
|
363
|
+
range: MicroSeconds(10),
|
364
|
+
};
|
365
|
+
|
366
|
+
it('is true if the window fits within the bounds', () => {
|
367
|
+
assert.isTrue(windowFitsInsideBounds({window: microsecondsTraceWindow(5, 8), bounds}));
|
368
|
+
assert.isTrue(windowFitsInsideBounds({window: microsecondsTraceWindow(5, 14), bounds}));
|
369
|
+
assert.isTrue(windowFitsInsideBounds({window: microsecondsTraceWindow(5, 15), bounds}));
|
370
|
+
});
|
371
|
+
|
372
|
+
it('is false if the window does not fully fit within the bounds', () => {
|
373
|
+
// Outside the left hand edge
|
374
|
+
assert.isFalse(windowFitsInsideBounds({window: microsecondsTraceWindow(0, 8), bounds}));
|
375
|
+
// Outside the right hand edge
|
376
|
+
assert.isFalse(windowFitsInsideBounds({window: microsecondsTraceWindow(10, 20), bounds}));
|
377
|
+
// Outside entirely before
|
378
|
+
assert.isFalse(windowFitsInsideBounds({window: microsecondsTraceWindow(0, 5), bounds}));
|
379
|
+
// Outside entirely after
|
380
|
+
assert.isFalse(windowFitsInsideBounds({window: microsecondsTraceWindow(20, 25), bounds}));
|
381
|
+
});
|
382
|
+
});
|
354
383
|
});
|
@@ -118,6 +118,14 @@ export function traceWindowMillisecondsToMicroSeconds(bounds: Types.Timing.Trace
|
|
118
118
|
range: millisecondsToMicroseconds(bounds.range),
|
119
119
|
};
|
120
120
|
}
|
121
|
+
export function traceWindowMicroSecondsToMilliSeconds(bounds: Types.Timing.TraceWindowMicroSeconds):
|
122
|
+
Types.Timing.TraceWindowMilliSeconds {
|
123
|
+
return {
|
124
|
+
min: microSecondsToMilliseconds(bounds.min),
|
125
|
+
max: microSecondsToMilliseconds(bounds.max),
|
126
|
+
range: microSecondsToMilliseconds(bounds.range),
|
127
|
+
};
|
128
|
+
}
|
121
129
|
|
122
130
|
export function traceWindowFromMilliSeconds(
|
123
131
|
min: Types.Timing.MilliSeconds, max: Types.Timing.MilliSeconds): Types.Timing.TraceWindowMicroSeconds {
|
@@ -178,6 +186,16 @@ export interface WindowFitsInsideBounds {
|
|
178
186
|
window: Types.Timing.TraceWindowMicroSeconds;
|
179
187
|
bounds: Types.Timing.TraceWindowMicroSeconds;
|
180
188
|
}
|
189
|
+
|
190
|
+
/**
|
191
|
+
* Returns true if the window fits entirely within the bounds.
|
192
|
+
* Note that if the window is equivalent to the bounds, that is considered to fit
|
193
|
+
*/
|
181
194
|
export function windowFitsInsideBounds(data: WindowFitsInsideBounds): boolean {
|
182
195
|
return data.window.min >= data.bounds.min && data.window.max <= data.bounds.max;
|
183
196
|
}
|
197
|
+
|
198
|
+
export function windowsEqual(
|
199
|
+
w1: Types.Timing.TraceWindowMicroSeconds, w2: Types.Timing.TraceWindowMicroSeconds): boolean {
|
200
|
+
return w1.min === w2.min && w1.max === w2.max;
|
201
|
+
}
|