chrome-devtools-frontend 1.0.1522145 → 1.0.1524741
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/AUTHORS +1 -0
- package/docs/README.md +1 -0
- package/docs/policy/README.md +1 -0
- package/docs/policy/console-policy.md +144 -0
- package/docs/policy/images/console-policy1.png +0 -0
- package/docs/policy/images/console-policy2.png +0 -0
- package/docs/policy/images/console-policy3.png +0 -0
- package/docs/ui_engineering.md +98 -0
- package/front_end/Tests.js +1 -1
- package/front_end/core/common/Color.ts +13 -9
- package/front_end/core/common/ColorConverter.ts +9 -7
- package/front_end/core/common/Gzip.ts +1 -1
- package/front_end/core/common/MapWithDefault.ts +5 -3
- package/front_end/core/common/ResourceType.ts +0 -12
- package/front_end/core/common/ReturnToPanel.ts +6 -4
- package/front_end/core/common/Trie.ts +4 -2
- package/front_end/core/host/AidaClient.ts +3 -3
- package/front_end/core/host/GdpClient.ts +7 -5
- package/front_end/core/host/InspectorFrontendHostAPI.ts +7 -5
- package/front_end/core/host/Platform.ts +5 -3
- package/front_end/core/host/UserMetrics.ts +6 -4
- package/front_end/core/platform/ArrayUtilities.ts +1 -1
- package/front_end/core/platform/StringUtilities.ts +34 -31
- package/front_end/core/root/Runtime.ts +1 -1
- package/front_end/core/sdk/CSSMetadata.ts +6 -4
- package/front_end/core/sdk/CSSPropertyParser.ts +17 -13
- package/front_end/core/sdk/CSSPropertyParserMatchers.ts +19 -13
- package/front_end/core/sdk/ChildTargetManager.ts +35 -0
- package/front_end/core/sdk/DOMModel.ts +1 -1
- package/front_end/core/sdk/EnhancedTracesParser.ts +13 -6
- package/front_end/core/sdk/EventBreakpointsModel.ts +4 -2
- package/front_end/core/sdk/HttpReasonPhraseStrings.ts +4 -2
- package/front_end/core/sdk/NetworkManager.ts +8 -48
- package/front_end/core/sdk/NetworkRequest.ts +0 -28
- package/front_end/core/sdk/PageResourceLoader.ts +1 -1
- package/front_end/core/sdk/PreloadingModel.ts +22 -18
- package/front_end/core/sdk/RehydratingConnection.ts +1 -1
- package/front_end/core/sdk/RehydratingObject.ts +1 -1
- package/front_end/core/sdk/RemoteObject.ts +1 -1
- package/front_end/core/sdk/ResourceTreeModel.ts +2 -0
- package/front_end/core/sdk/ScreenCaptureModel.ts +24 -20
- package/front_end/core/sdk/Target.ts +7 -1
- package/front_end/core/sdk/TraceObject.ts +2 -2
- package/front_end/entrypoints/formatter_worker/Substitute.ts +6 -4
- package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshot.ts +24 -16
- package/front_end/entrypoints/inspector_main/OutermostTargetSelector.ts +2 -1
- package/front_end/entrypoints/main/MainImpl.ts +6 -4
- package/front_end/generated/Deprecation.ts +4 -4
- package/front_end/generated/InspectorBackendCommands.js +2 -2
- package/front_end/generated/protocol-mapping.d.ts +3 -2
- package/front_end/generated/protocol-proxy-api.d.ts +3 -1
- package/front_end/generated/protocol.ts +7 -1
- package/front_end/models/ai_assistance/agents/StylingAgent.snapshot.txt +600 -0
- package/front_end/models/ai_assistance/agents/StylingAgent.ts +83 -222
- package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.snapshot.txt +23 -0
- package/front_end/models/ai_assistance/performance/AIContext.ts +19 -4
- package/front_end/models/ai_code_completion/AiCodeCompletion.ts +4 -2
- package/front_end/models/autofill_manager/AutofillManager.ts +4 -2
- package/front_end/models/cpu_profile/CPUProfileDataModel.ts +1 -1
- package/front_end/models/crux-manager/CrUXManager.ts +1 -1
- package/front_end/models/extensions/HostUrlPattern.ts +13 -5
- package/front_end/models/issues_manager/CookieDeprecationMetadataIssue.ts +1 -1
- package/front_end/models/issues_manager/CookieIssue.ts +2 -2
- package/front_end/models/issues_manager/MarkdownIssueDescription.ts +1 -1
- package/front_end/models/issues_manager/SharedDictionaryIssue.ts +20 -0
- package/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorInvalidTTLField.md +1 -0
- package/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonIntegerTTLField.md +1 -0
- package/front_end/models/javascript_metadata/NativeFunctions.js +9 -1
- package/front_end/models/network_time_calculator/Calculator.ts +4 -2
- package/front_end/models/network_time_calculator/RequestTimeRanges.ts +6 -4
- package/front_end/models/source_map_scopes/NamesResolver.ts +7 -5
- package/front_end/models/text_utils/ContentProvider.ts +6 -4
- package/front_end/models/trace/LanternComputationData.ts +1 -0
- package/front_end/models/trace/extras/TraceTree.ts +1 -1
- package/front_end/models/trace/handlers/FramesHandler.ts +7 -5
- package/front_end/models/trace/handlers/LayoutShiftsHandler.ts +13 -7
- package/front_end/models/trace/handlers/MetaHandler.ts +16 -14
- package/front_end/models/trace/handlers/NetworkRequestsHandler.ts +30 -8
- package/front_end/models/trace/handlers/helpers.ts +1 -1
- package/front_end/models/trace/handlers/types.ts +23 -19
- package/front_end/models/trace/helpers/Timing.ts +4 -2
- package/front_end/models/trace/helpers/Trace.ts +8 -4
- package/front_end/models/trace/insights/DocumentLatency.ts +10 -11
- package/front_end/models/trace/insights/INPBreakdown.ts +13 -2
- package/front_end/models/trace/insights/LCPBreakdown.ts +14 -2
- package/front_end/models/trace/insights/NetworkDependencyTree.ts +2 -2
- package/front_end/models/trace/types/File.ts +12 -8
- package/front_end/models/trace/types/Timing.ts +1 -1
- package/front_end/models/trace/types/TraceEvents.ts +43 -28
- package/front_end/models/trace_source_maps_resolver/SourceMapsResolver.ts +1 -1
- package/front_end/panels/ai_assistance/components/MarkdownRendererWithCodeBlock.ts +12 -10
- package/front_end/panels/application/KeyValueStorageItemsView.ts +31 -33
- package/front_end/panels/application/components/InterestGroupAccessGrid.ts +6 -11
- package/front_end/panels/application/components/OriginTrialTreeView.ts +7 -5
- package/front_end/panels/application/components/PermissionsPolicySection.ts +1 -0
- package/front_end/panels/application/components/ReportsGrid.ts +4 -10
- package/front_end/panels/application/components/SharedStorageAccessGrid.ts +5 -13
- package/front_end/panels/application/preloading/components/MismatchedPreloadingGrid.ts +1 -1
- package/front_end/panels/application/preloading/components/PreloadingGrid.ts +3 -7
- package/front_end/panels/application/preloading/components/PreloadingString.ts +2 -2
- package/front_end/panels/application/preloading/components/RuleSetGrid.ts +3 -10
- package/front_end/panels/application/preloading/components/UsedPreloadingView.ts +4 -2
- package/front_end/panels/browser_debugger/browser_debugger-meta.ts +7 -5
- package/front_end/panels/changes/ChangesSidebar.ts +97 -95
- package/front_end/panels/changes/changesSidebar.css +3 -0
- package/front_end/panels/console/ConsoleView.ts +2 -2
- package/front_end/panels/developer_resources/DeveloperResourcesListView.ts +22 -35
- package/front_end/panels/elements/ComputedStyleWidget.ts +1 -1
- package/front_end/panels/elements/ElementStatePaneWidget.ts +12 -0
- package/front_end/panels/elements/ElementsTreeElement.ts +9 -5
- package/front_end/panels/elements/ElementsTreeOutline.ts +11 -8
- package/front_end/panels/elements/PropertyRenderer.ts +19 -15
- package/front_end/panels/elements/StylePropertyTreeElement.ts +6 -4
- package/front_end/panels/elements/StylesSidebarPane.ts +2 -2
- package/front_end/panels/elements/components/AccessibilityTreeNode.ts +4 -2
- package/front_end/panels/elements/components/AdornerManager.ts +5 -3
- package/front_end/panels/linear_memory_inspector/components/LinearMemoryInspector.ts +6 -4
- package/front_end/panels/media/PlayerPropertiesView.ts +1 -1
- package/front_end/panels/network/NetworkDataGridNode.ts +2 -44
- package/front_end/panels/network/NetworkLogView.ts +6 -4
- package/front_end/panels/network/RequestPreviewView.ts +0 -7
- package/front_end/panels/network/components/RequestHeadersView.ts +0 -6
- package/front_end/panels/network/components/components.ts +0 -2
- package/front_end/panels/profiler/HeapSnapshotDataGrids.ts +1 -1
- package/front_end/panels/profiler/HeapSnapshotGridNodes.ts +4 -2
- package/front_end/panels/protocol_monitor/ProtocolMonitor.ts +40 -48
- package/front_end/panels/search/SearchResultsPane.ts +2 -3
- package/front_end/panels/security/IPProtectionView.ts +1 -1
- package/front_end/panels/settings/emulation/components/userAgentClientHintsForm.css +4 -0
- package/front_end/panels/settings/emulation/utils/StructuredHeaders.ts +45 -37
- package/front_end/panels/sources/BreakpointsViewUtils.ts +11 -9
- package/front_end/panels/sources/DebuggerPlugin.ts +8 -4
- package/front_end/panels/sources/SourcesPanel.ts +1 -1
- package/front_end/panels/sources/UISourceCodeFrame.ts +1 -1
- package/front_end/panels/timeline/CompatibilityTracksAppender.ts +4 -2
- package/front_end/panels/timeline/CountersGraph.ts +12 -5
- package/front_end/panels/timeline/EasterEgg.d.ts +5 -3
- package/front_end/panels/timeline/LayoutShiftsTrackAppender.ts +8 -6
- package/front_end/panels/timeline/ModificationsManager.ts +5 -3
- package/front_end/panels/timeline/ThreadAppender.ts +7 -5
- package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +10 -8
- package/front_end/panels/timeline/TimelineFlameChartNetworkDataProvider.ts +1 -1
- package/front_end/panels/timeline/TimelineFlameChartView.ts +17 -0
- package/front_end/panels/timeline/TimelinePanel.ts +15 -8
- package/front_end/panels/timeline/TimelineSelection.ts +4 -2
- package/front_end/panels/timeline/TimelineUIUtils.ts +17 -6
- package/front_end/panels/timeline/components/BreadcrumbsUI.ts +6 -4
- package/front_end/panels/timeline/components/ExportTraceOptions.ts +21 -9
- package/front_end/panels/timeline/components/Utils.ts +1 -1
- package/front_end/panels/timeline/overlays/OverlaysImpl.ts +5 -3
- package/front_end/panels/timeline/timelineDetailsView.css +5 -0
- package/front_end/panels/timeline/utils/Helpers.ts +1 -1
- package/front_end/panels/utils/utils.ts +1 -7
- package/front_end/services/trace_bounds/TraceBounds.ts +4 -2
- package/front_end/services/tracing/PerformanceTracing.ts +1 -1
- package/front_end/third_party/chromium/README.chromium +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/php.js +1 -1
- package/front_end/third_party/codemirror.next/chunk/php.js.map +1 -1
- package/front_end/third_party/codemirror.next/package.json +3 -2
- package/front_end/third_party/puppeteer/README.chromium +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Dialog.d.ts +8 -10
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Dialog.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Dialog.js +8 -10
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Dialog.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/ElementHandle.d.ts +28 -30
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/ElementHandle.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/ElementHandle.js +27 -29
- 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 +34 -38
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Frame.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Frame.js +34 -38
- 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 +8 -1
- 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 +12 -14
- 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/Page.d.ts +92 -108
- 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 +33 -39
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Browser.js +5 -3
- 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/Frame.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Frame.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Frame.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/HTTPRequest.d.ts +4 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/HTTPRequest.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/HTTPRequest.js +14 -5
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/HTTPRequest.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.js +12 -6
- 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/core/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Browser.js +24 -2
- 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/Realm.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPRequest.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPRequest.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPRequest.js +3 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPRequest.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/PredefinedNetworkConditions.d.ts +13 -22
- 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 +13 -22
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/PredefinedNetworkConditions.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Device.d.ts +6 -8
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Device.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Device.js +6 -8
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Device.js.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/injected.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.js +6 -3
- 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/PuppeteerNode.d.ts +5 -7
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/PuppeteerNode.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/PuppeteerNode.js +5 -7
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/PuppeteerNode.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/Mutex.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.d.ts +188 -224
- package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +140 -166
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Dialog.d.ts +8 -10
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Dialog.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Dialog.js +8 -10
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Dialog.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/ElementHandle.d.ts +28 -30
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/ElementHandle.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/ElementHandle.js +27 -29
- 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 +34 -38
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Frame.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Frame.js +34 -38
- 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 +8 -1
- 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 +12 -14
- 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/Page.d.ts +92 -108
- 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 +33 -39
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Browser.js +5 -3
- 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/Frame.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Frame.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Frame.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/HTTPRequest.d.ts +4 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/HTTPRequest.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/HTTPRequest.js +15 -6
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/HTTPRequest.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.js +12 -6
- 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/core/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Browser.js +24 -2
- 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/cdp/HTTPRequest.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPRequest.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPRequest.js +3 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPRequest.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/PredefinedNetworkConditions.d.ts +13 -22
- 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 +13 -22
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/PredefinedNetworkConditions.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Device.d.ts +6 -8
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Device.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Device.js +6 -8
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Device.js.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/node/BrowserLauncher.d.ts +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 +6 -3
- 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/PuppeteerNode.d.ts +5 -7
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/PuppeteerNode.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/PuppeteerNode.js +5 -7
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/PuppeteerNode.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/types.d.ts +188 -224
- package/front_end/third_party/puppeteer/package/package.json +3 -3
- package/front_end/third_party/puppeteer/package/src/api/Dialog.ts +8 -10
- package/front_end/third_party/puppeteer/package/src/api/ElementHandle.ts +27 -29
- package/front_end/third_party/puppeteer/package/src/api/Frame.ts +34 -38
- package/front_end/third_party/puppeteer/package/src/api/HTTPRequest.ts +17 -14
- package/front_end/third_party/puppeteer/package/src/api/Page.ts +92 -108
- package/front_end/third_party/puppeteer/package/src/bidi/Browser.ts +5 -3
- package/front_end/third_party/puppeteer/package/src/bidi/Frame.ts +5 -1
- package/front_end/third_party/puppeteer/package/src/bidi/HTTPRequest.ts +28 -3
- package/front_end/third_party/puppeteer/package/src/bidi/Page.ts +16 -7
- package/front_end/third_party/puppeteer/package/src/bidi/core/Browser.ts +28 -2
- package/front_end/third_party/puppeteer/package/src/cdp/HTTPRequest.ts +4 -0
- package/front_end/third_party/puppeteer/package/src/cdp/PredefinedNetworkConditions.ts +13 -22
- package/front_end/third_party/puppeteer/package/src/common/Device.ts +6 -8
- package/front_end/third_party/puppeteer/package/src/generated/version.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/node/BrowserLauncher.ts +6 -3
- package/front_end/third_party/puppeteer/package/src/node/PuppeteerNode.ts +5 -7
- package/front_end/third_party/puppeteer/package/src/revisions.ts +3 -3
- package/front_end/ui/components/chrome_link/ChromeLink.ts +4 -2
- package/front_end/ui/components/dialogs/Dialog.ts +13 -9
- package/front_end/ui/components/highlighting/HighlightElement.ts +77 -0
- package/front_end/ui/components/highlighting/HighlightManager.ts +37 -0
- package/front_end/ui/components/highlighting/highlighting.ts +2 -0
- package/front_end/ui/components/markdown_view/MarkdownImagesMap.ts +5 -3
- package/front_end/ui/components/markdown_view/MarkdownLinksMap.ts +5 -3
- package/front_end/ui/components/menus/SelectMenu.ts +6 -4
- package/front_end/ui/components/survey_link/SurveyLink.ts +4 -2
- package/front_end/ui/components/text_editor/config.ts +10 -6
- package/front_end/ui/components/text_editor/javascript.ts +8 -4
- package/front_end/ui/components/tooltips/Tooltip.ts +13 -4
- package/front_end/ui/legacy/ForwardedInputEventHandler.ts +4 -2
- package/front_end/ui/legacy/GlassPane.ts +1 -1
- package/front_end/ui/legacy/SettingsUI.ts +1 -5
- package/front_end/ui/legacy/Treeoutline.ts +12 -33
- package/front_end/ui/legacy/UIUtils.ts +19 -1
- package/front_end/ui/legacy/components/color_picker/Spectrum.ts +12 -10
- package/front_end/ui/legacy/components/cookie_table/CookiesTable.ts +30 -32
- package/front_end/ui/legacy/components/data_grid/DataGrid.ts +1 -1
- package/front_end/ui/legacy/components/data_grid/DataGridElement.ts +25 -25
- package/front_end/ui/legacy/components/data_grid/dataGrid.css +5 -0
- package/front_end/ui/legacy/components/inline_editor/AnimationTimingModel.ts +4 -2
- package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +4 -2
- package/front_end/ui/legacy/components/perf_ui/FlameChart.ts +8 -6
- package/front_end/ui/legacy/components/perf_ui/PieChart.ts +6 -4
- package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +3 -3
- package/front_end/ui/legacy/components/source_frame/XMLView.ts +22 -16
- package/front_end/ui/legacy/components/source_frame/xmlView.css +0 -2
- package/front_end/ui/legacy/components/utils/Linkifier.ts +6 -4
- package/front_end/ui/visual_logging/Debugging.ts +10 -6
- package/front_end/ui/visual_logging/KnownContextValues.ts +1 -3
- package/inspector_overlay/common.ts +5 -3
- package/inspector_overlay/highlight_grid_common.ts +1 -1
- package/package.json +1 -1
- package/front_end/Images/src/bundle.svg +0 -3
- package/front_end/panels/network/components/WebBundleInfoView.css +0 -27
- package/front_end/panels/network/components/WebBundleInfoView.ts +0 -95
|
@@ -65,8 +65,10 @@ export interface Boolean {
|
|
|
65
65
|
value: boolean;
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
-
|
|
69
|
-
|
|
68
|
+
/**
|
|
69
|
+
* bare-item = sf-integer / sf-decimal / sf-string / sf-token
|
|
70
|
+
* / sf-binary / sf-boolean
|
|
71
|
+
**/
|
|
70
72
|
export type BareItem = Integer|Decimal|String|Token|Binary|Boolean;
|
|
71
73
|
|
|
72
74
|
export interface ParamName {
|
|
@@ -74,39 +76,43 @@ export interface ParamName {
|
|
|
74
76
|
value: string;
|
|
75
77
|
}
|
|
76
78
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
+
/**
|
|
80
|
+
* parameter = param-name [ "=" param-value ]
|
|
81
|
+
* param-value = bare-item
|
|
82
|
+
**/
|
|
79
83
|
export interface Parameter {
|
|
80
84
|
kind: ResultKind.PARAMETER;
|
|
81
85
|
name: ParamName;
|
|
82
86
|
value: BareItem;
|
|
83
87
|
}
|
|
84
88
|
|
|
85
|
-
|
|
89
|
+
/** parameters = *( ";" *SP parameter ) **/
|
|
86
90
|
export interface Parameters {
|
|
87
91
|
kind: ResultKind.PARAMETERS;
|
|
88
92
|
items: Parameter[];
|
|
89
93
|
}
|
|
90
94
|
|
|
91
|
-
|
|
95
|
+
/** sf-item = bare-item parameters **/
|
|
92
96
|
export interface Item {
|
|
93
97
|
kind: ResultKind.ITEM;
|
|
94
98
|
value: BareItem;
|
|
95
99
|
parameters: Parameters;
|
|
96
100
|
}
|
|
97
101
|
|
|
98
|
-
|
|
99
|
-
|
|
102
|
+
/**
|
|
103
|
+
* inner-list = "(" *SP [ sf-item *( 1*SP sf-item ) *SP ] ")"
|
|
104
|
+
* parameters
|
|
105
|
+
**/
|
|
100
106
|
export interface InnerList {
|
|
101
107
|
kind: ResultKind.INNER_LIST;
|
|
102
108
|
items: Item[];
|
|
103
109
|
parameters: Parameters;
|
|
104
110
|
}
|
|
105
111
|
|
|
106
|
-
|
|
112
|
+
/** list-member = sf-item / inner-list **/
|
|
107
113
|
export type ListMember = Item|InnerList;
|
|
108
114
|
|
|
109
|
-
|
|
115
|
+
/** sf-list = list-member *( OWS "," OWS list-member ) **/
|
|
110
116
|
export interface List {
|
|
111
117
|
kind: ResultKind.LIST;
|
|
112
118
|
items: ListMember[];
|
|
@@ -149,9 +155,11 @@ const CHAR_TILDE: number = '~'.charCodeAt(0);
|
|
|
149
155
|
const CHAR_MIN_ASCII_PRINTABLE = 0x20;
|
|
150
156
|
const CHAR_MAX_ASCII_PRINTABLE = 0x7e;
|
|
151
157
|
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
158
|
+
/**
|
|
159
|
+
* Note: structured headers operates over ASCII, not unicode, so these are
|
|
160
|
+
* all indeed supposed to return false on things outside 32-127 range regardless
|
|
161
|
+
* of them being other kinds of digits or letters.
|
|
162
|
+
**/
|
|
155
163
|
function isDigit(charCode: number|undefined): boolean {
|
|
156
164
|
// DIGIT = %x30-39 ; 0-9 (from RFC 5234)
|
|
157
165
|
if (charCode === undefined) {
|
|
@@ -262,7 +270,7 @@ function makeError(): Error {
|
|
|
262
270
|
return {kind: ResultKind.ERROR};
|
|
263
271
|
}
|
|
264
272
|
|
|
265
|
-
|
|
273
|
+
/** 4.2.1. Parsing a list **/
|
|
266
274
|
function parseListInternal(input: Input): List|Error {
|
|
267
275
|
const result: List = {kind: ResultKind.LIST, items: []};
|
|
268
276
|
|
|
@@ -291,7 +299,7 @@ function parseListInternal(input: Input): List|Error {
|
|
|
291
299
|
return result; // this case corresponds to an empty list.
|
|
292
300
|
}
|
|
293
301
|
|
|
294
|
-
|
|
302
|
+
/** 4.2.1.1. Parsing an Item or Inner List **/
|
|
295
303
|
function parseItemOrInnerList(input: Input): ListMember|Error {
|
|
296
304
|
if (input.peek() === '(') {
|
|
297
305
|
return parseInnerList(input);
|
|
@@ -299,7 +307,7 @@ function parseItemOrInnerList(input: Input): ListMember|Error {
|
|
|
299
307
|
return parseItemInternal(input);
|
|
300
308
|
}
|
|
301
309
|
|
|
302
|
-
|
|
310
|
+
/** 4.2.1.2. Parsing an Inner List **/
|
|
303
311
|
function parseInnerList(input: Input): InnerList|Error {
|
|
304
312
|
if (input.peek() !== '(') {
|
|
305
313
|
return makeError();
|
|
@@ -335,7 +343,7 @@ function parseInnerList(input: Input): InnerList|Error {
|
|
|
335
343
|
return makeError();
|
|
336
344
|
}
|
|
337
345
|
|
|
338
|
-
|
|
346
|
+
/** 4.2.3. Parsing an Item **/
|
|
339
347
|
function parseItemInternal(input: Input): Item|Error {
|
|
340
348
|
const bareItem: BareItem|Error = parseBareItem(input);
|
|
341
349
|
if (bareItem.kind === ResultKind.ERROR) {
|
|
@@ -348,7 +356,7 @@ function parseItemInternal(input: Input): Item|Error {
|
|
|
348
356
|
return {kind: ResultKind.ITEM, value: bareItem, parameters: params};
|
|
349
357
|
}
|
|
350
358
|
|
|
351
|
-
|
|
359
|
+
/** 4.2.3.1. Parsing a Bare Item **/
|
|
352
360
|
function parseBareItem(input: Input): BareItem|Error {
|
|
353
361
|
const upcoming = input.peekCharCode();
|
|
354
362
|
if (upcoming === CHAR_MINUS || isDigit(upcoming)) {
|
|
@@ -369,7 +377,7 @@ function parseBareItem(input: Input): BareItem|Error {
|
|
|
369
377
|
return makeError();
|
|
370
378
|
}
|
|
371
379
|
|
|
372
|
-
|
|
380
|
+
/** 4.2.3.2. Parsing Parameters **/
|
|
373
381
|
function parseParameters(input: Input): Parameters|Error {
|
|
374
382
|
// The main noteworthy thing here is handling of duplicates and ordering:
|
|
375
383
|
//
|
|
@@ -413,7 +421,7 @@ function parseParameters(input: Input): Parameters|Error {
|
|
|
413
421
|
return {kind: ResultKind.PARAMETERS, items: [...items.values()]};
|
|
414
422
|
}
|
|
415
423
|
|
|
416
|
-
|
|
424
|
+
/** 4.2.3.3. Parsing a Key **/
|
|
417
425
|
function parseKey(input: Input): ParamName|Error {
|
|
418
426
|
let outputString = '';
|
|
419
427
|
const first = input.peekCharCode();
|
|
@@ -434,7 +442,7 @@ function parseKey(input: Input): ParamName|Error {
|
|
|
434
442
|
return {kind: ResultKind.PARAM_NAME, value: outputString};
|
|
435
443
|
}
|
|
436
444
|
|
|
437
|
-
|
|
445
|
+
/** 4.2.4. Parsing an Integer or Decimal **/
|
|
438
446
|
function parseIntegerOrDecimal(input: Input): Integer|Decimal|Error {
|
|
439
447
|
let resultKind = ResultKind.INTEGER;
|
|
440
448
|
let sign = 1;
|
|
@@ -486,7 +494,7 @@ function parseIntegerOrDecimal(input: Input): Integer|Decimal|Error {
|
|
|
486
494
|
return {kind: ResultKind.DECIMAL, value: sign * Number.parseFloat(inputNumber)};
|
|
487
495
|
}
|
|
488
496
|
|
|
489
|
-
|
|
497
|
+
/** 4.2.5. Parsing a String **/
|
|
490
498
|
function parseString(input: Input): String|Error {
|
|
491
499
|
let outputString = '';
|
|
492
500
|
if (input.peek() !== '"') {
|
|
@@ -524,7 +532,7 @@ function parseString(input: Input): String|Error {
|
|
|
524
532
|
return makeError();
|
|
525
533
|
}
|
|
526
534
|
|
|
527
|
-
|
|
535
|
+
/** 4.2.6. Parsing a Token **/
|
|
528
536
|
function parseToken(input: Input): Token|Error {
|
|
529
537
|
const first = input.peekCharCode();
|
|
530
538
|
if (first !== CHAR_STAR && !isAlpha(first)) {
|
|
@@ -542,7 +550,7 @@ function parseToken(input: Input): Token|Error {
|
|
|
542
550
|
return {kind: ResultKind.TOKEN, value: outputString};
|
|
543
551
|
}
|
|
544
552
|
|
|
545
|
-
|
|
553
|
+
/** 4.2.7. Parsing a Byte Sequence **/
|
|
546
554
|
function parseByteSequence(input: Input): Binary|Error {
|
|
547
555
|
let outputString = '';
|
|
548
556
|
if (input.peek() !== ':') {
|
|
@@ -571,7 +579,7 @@ function parseByteSequence(input: Input): Binary|Error {
|
|
|
571
579
|
return makeError();
|
|
572
580
|
}
|
|
573
581
|
|
|
574
|
-
|
|
582
|
+
/** 4.2.8. Parsing a Boolean **/
|
|
575
583
|
function parseBoolean(input: Input): Boolean|Error {
|
|
576
584
|
if (input.peek() !== '?') {
|
|
577
585
|
return makeError();
|
|
@@ -602,7 +610,7 @@ export function parseList(input: string): List|Error {
|
|
|
602
610
|
return parseListInternal(new Input(input));
|
|
603
611
|
}
|
|
604
612
|
|
|
605
|
-
|
|
613
|
+
/** 4.1.3. Serializing an Item **/
|
|
606
614
|
export function serializeItem(input: Item): SerializationResult|Error {
|
|
607
615
|
const bareItemVal = serializeBareItem(input.value);
|
|
608
616
|
if (bareItemVal.kind === ResultKind.ERROR) {
|
|
@@ -615,7 +623,7 @@ export function serializeItem(input: Item): SerializationResult|Error {
|
|
|
615
623
|
return {kind: ResultKind.SERIALIZATION_RESULT, value: bareItemVal.value + paramVal.value};
|
|
616
624
|
}
|
|
617
625
|
|
|
618
|
-
|
|
626
|
+
/** 4.1.1. Serializing a List **/
|
|
619
627
|
export function serializeList(input: List): SerializationResult|Error {
|
|
620
628
|
const outputPieces: string[] = [];
|
|
621
629
|
for (let i = 0; i < input.items.length; ++i) {
|
|
@@ -638,7 +646,7 @@ export function serializeList(input: List): SerializationResult|Error {
|
|
|
638
646
|
return {kind: ResultKind.SERIALIZATION_RESULT, value: output};
|
|
639
647
|
}
|
|
640
648
|
|
|
641
|
-
|
|
649
|
+
/** 4.1.1.1. Serializing an Inner List **/
|
|
642
650
|
function serializeInnerList(input: InnerList): SerializationResult|Error {
|
|
643
651
|
const outputPieces: string[] = [];
|
|
644
652
|
for (let i = 0; i < input.items.length; ++i) {
|
|
@@ -657,7 +665,7 @@ function serializeInnerList(input: InnerList): SerializationResult|Error {
|
|
|
657
665
|
return {kind: ResultKind.SERIALIZATION_RESULT, value: output};
|
|
658
666
|
}
|
|
659
667
|
|
|
660
|
-
|
|
668
|
+
/** 4.1.1.2. Serializing Parameters **/
|
|
661
669
|
function serializeParameters(input: Parameters): SerializationResult|Error {
|
|
662
670
|
let output = '';
|
|
663
671
|
for (const item of input.items) {
|
|
@@ -680,7 +688,7 @@ function serializeParameters(input: Parameters): SerializationResult|Error {
|
|
|
680
688
|
return {kind: ResultKind.SERIALIZATION_RESULT, value: output};
|
|
681
689
|
}
|
|
682
690
|
|
|
683
|
-
|
|
691
|
+
/** 4.1.1.3. Serializing a Key **/
|
|
684
692
|
function serializeKey(input: ParamName): SerializationResult|Error {
|
|
685
693
|
if (input.value.length === 0) {
|
|
686
694
|
return makeError();
|
|
@@ -701,7 +709,7 @@ function serializeKey(input: ParamName): SerializationResult|Error {
|
|
|
701
709
|
return {kind: ResultKind.SERIALIZATION_RESULT, value: input.value};
|
|
702
710
|
}
|
|
703
711
|
|
|
704
|
-
|
|
712
|
+
/** 4.1.3.1. Serializing a Bare Item **/
|
|
705
713
|
function serializeBareItem(input: BareItem): SerializationResult|Error {
|
|
706
714
|
if (input.kind === ResultKind.INTEGER) {
|
|
707
715
|
return serializeInteger(input);
|
|
@@ -724,7 +732,7 @@ function serializeBareItem(input: BareItem): SerializationResult|Error {
|
|
|
724
732
|
return makeError();
|
|
725
733
|
}
|
|
726
734
|
|
|
727
|
-
|
|
735
|
+
/** 4.1.4. Serializing an Integer **/
|
|
728
736
|
function serializeInteger(input: Integer): SerializationResult|Error {
|
|
729
737
|
if (input.value < -999999999999999 || input.value > 999999999999999 || !Number.isInteger(input.value)) {
|
|
730
738
|
return makeError();
|
|
@@ -732,12 +740,12 @@ function serializeInteger(input: Integer): SerializationResult|Error {
|
|
|
732
740
|
return {kind: ResultKind.SERIALIZATION_RESULT, value: input.value.toString(10)};
|
|
733
741
|
}
|
|
734
742
|
|
|
735
|
-
|
|
743
|
+
/** 4.1.5. Serializing a Decimal **/
|
|
736
744
|
function serializeDecimal(_input: Decimal): SerializationResult|Error {
|
|
737
745
|
throw new Error('Unimplemented');
|
|
738
746
|
}
|
|
739
747
|
|
|
740
|
-
|
|
748
|
+
/** 4.1.6. Serializing a String **/
|
|
741
749
|
function serializeString(input: String): SerializationResult|Error {
|
|
742
750
|
// Only printable ASCII strings are supported by the spec.
|
|
743
751
|
for (let i = 0; i < input.value.length; ++i) {
|
|
@@ -759,7 +767,7 @@ function serializeString(input: String): SerializationResult|Error {
|
|
|
759
767
|
return {kind: ResultKind.SERIALIZATION_RESULT, value: output};
|
|
760
768
|
}
|
|
761
769
|
|
|
762
|
-
|
|
770
|
+
/** 4.1.7. Serializing a Token **/
|
|
763
771
|
function serializeToken(input: Token): SerializationResult|Error {
|
|
764
772
|
if (input.value.length === 0) {
|
|
765
773
|
return makeError();
|
|
@@ -779,12 +787,12 @@ function serializeToken(input: Token): SerializationResult|Error {
|
|
|
779
787
|
return {kind: ResultKind.SERIALIZATION_RESULT, value: input.value};
|
|
780
788
|
}
|
|
781
789
|
|
|
782
|
-
|
|
790
|
+
/** 4.1.8. Serializing a Byte Sequence **/
|
|
783
791
|
function serializeByteSequence(_input: Binary): SerializationResult|Error {
|
|
784
792
|
throw new Error('Unimplemented');
|
|
785
793
|
}
|
|
786
794
|
|
|
787
|
-
|
|
795
|
+
/** 4.1.9. Serializing a Boolean **/
|
|
788
796
|
function serializeBoolean(input: Boolean): SerializationResult|Error {
|
|
789
797
|
return {kind: ResultKind.SERIALIZATION_RESULT, value: input.value ? '?1' : '?0'};
|
|
790
798
|
}
|
|
@@ -234,15 +234,17 @@ function findDifferentiatingPath(url: string[], allUrls: string[][], startIndex:
|
|
|
234
234
|
return differentiatingPath;
|
|
235
235
|
}
|
|
236
236
|
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
237
|
+
/**
|
|
238
|
+
* This function tries to find a subpath (if available) that we can use to differentiate
|
|
239
|
+
* urls that have the same file name.
|
|
240
|
+
* It does so by 1. removing common suffixes, 2. taking segments of the path (from right to left) until the path is
|
|
241
|
+
* unique.
|
|
242
|
+
*
|
|
243
|
+
* Example:
|
|
244
|
+
*
|
|
245
|
+
* Paths: 'http://www.google.com/src/a/index.js', 'http://www.google.com/src2/a/index.js'
|
|
246
|
+
* Output: 'src/…/', 'src2/…/'
|
|
247
|
+
**/
|
|
246
248
|
function populateDifferentiatingPathMap(
|
|
247
249
|
urls: Platform.DevToolsPath.UrlString[], urlToDifferentiator: Map<Platform.DevToolsPath.UrlString, string>): void {
|
|
248
250
|
const splitReversedUrls = urls.map(url => {
|
|
@@ -1765,8 +1765,10 @@ export class BreakpointLocationRevealer implements
|
|
|
1765
1765
|
}
|
|
1766
1766
|
}
|
|
1767
1767
|
|
|
1768
|
-
|
|
1769
|
-
|
|
1768
|
+
/**
|
|
1769
|
+
* Enumerate non-breakable lines (lines without a known corresponding
|
|
1770
|
+
* position in the UISource).
|
|
1771
|
+
**/
|
|
1770
1772
|
async function computeNonBreakableLines(
|
|
1771
1773
|
state: CodeMirror.EditorState, transformer: SourceFrame.SourceFrame.Transformer,
|
|
1772
1774
|
sourceCode: Workspace.UISourceCode.UISourceCode): Promise<readonly number[]> {
|
|
@@ -2043,8 +2045,10 @@ export function getVariableNamesByLine(
|
|
|
2043
2045
|
toPos = editorState.doc.lineAt(toPos).from;
|
|
2044
2046
|
const tree = CodeMirror.syntaxTree(editorState);
|
|
2045
2047
|
|
|
2046
|
-
|
|
2047
|
-
|
|
2048
|
+
/**
|
|
2049
|
+
* Sibling scope is a scope that does not contain the current position.
|
|
2050
|
+
* We will exclude variables that are defined (and used in those scopes (since we are currently outside of their lifetime).
|
|
2051
|
+
**/
|
|
2048
2052
|
function isSiblingScopeNode(node: {name: string, from: number, to: number}): boolean {
|
|
2049
2053
|
return isScopeNode(node.name) && (node.to < currentPos || currentPos < node.from);
|
|
2050
2054
|
}
|
|
@@ -632,7 +632,7 @@ export class SourcesPanel extends UI.Panel.Panel implements
|
|
|
632
632
|
|
|
633
633
|
private addExperimentMenuItem(
|
|
634
634
|
menuSection: UI.ContextMenu.Section, experiment: string, menuItem: Common.UIString.LocalizedString): void {
|
|
635
|
-
|
|
635
|
+
/** menu handler **/
|
|
636
636
|
function toggleExperiment(): void {
|
|
637
637
|
const checked = Root.Runtime.experiments.isEnabled(experiment);
|
|
638
638
|
Root.Runtime.experiments.setEnabled(experiment, !checked);
|
|
@@ -663,7 +663,7 @@ const setRowMessages = CodeMirror.StateEffect.define<RowMessages>();
|
|
|
663
663
|
|
|
664
664
|
const underlineMark = CodeMirror.Decoration.mark({class: 'cm-waveUnderline'});
|
|
665
665
|
|
|
666
|
-
|
|
666
|
+
/** The widget shown at the end of a message annotation. **/
|
|
667
667
|
class MessageWidget extends CodeMirror.WidgetType {
|
|
668
668
|
constructor(readonly messages: RowMessage[]) {
|
|
669
669
|
super();
|
|
@@ -150,8 +150,10 @@ export const TrackNames = [
|
|
|
150
150
|
'Extension',
|
|
151
151
|
'ServerTimings',
|
|
152
152
|
] as const;
|
|
153
|
-
|
|
154
|
-
|
|
153
|
+
/**
|
|
154
|
+
* Network track will use TrackAppender interface, but it won't be shown in Main flamechart.
|
|
155
|
+
* So manually add it to TrackAppenderName.
|
|
156
|
+
**/
|
|
155
157
|
export type TrackAppenderName = typeof TrackNames[number]|'Network';
|
|
156
158
|
|
|
157
159
|
export type DrawOverride = PerfUI.FlameChart.DrawOverride;
|
|
@@ -71,9 +71,14 @@ export class CountersGraph extends UI.Widget.VBox {
|
|
|
71
71
|
|
|
72
72
|
#noEventsFoundMessage = document.createElement('div');
|
|
73
73
|
#showNoEventsMessage = false;
|
|
74
|
+
#defaultNumberFormatter: Intl.NumberFormat;
|
|
74
75
|
|
|
75
76
|
constructor(delegate: TimelineModeViewDelegate) {
|
|
76
77
|
super();
|
|
78
|
+
this.#defaultNumberFormatter = new Intl.NumberFormat(
|
|
79
|
+
i18n.DevToolsLocale.DevToolsLocale.instance().locale,
|
|
80
|
+
);
|
|
81
|
+
|
|
77
82
|
this.element.id = 'memory-graphs-container';
|
|
78
83
|
|
|
79
84
|
this.delegate = delegate;
|
|
@@ -180,6 +185,7 @@ export class CountersGraph extends UI.Widget.VBox {
|
|
|
180
185
|
}
|
|
181
186
|
}
|
|
182
187
|
this.#showNoEventsMessage = counterEventsFound === 0;
|
|
188
|
+
this.requestUpdate();
|
|
183
189
|
}
|
|
184
190
|
|
|
185
191
|
private createCurrentValuesBar(): void {
|
|
@@ -192,7 +198,8 @@ export class CountersGraph extends UI.Widget.VBox {
|
|
|
192
198
|
formatter?: ((arg0: number) => string)): Counter {
|
|
193
199
|
const counter = new Counter();
|
|
194
200
|
this.counters.push(counter);
|
|
195
|
-
this.counterUI.push(
|
|
201
|
+
this.counterUI.push(
|
|
202
|
+
new CounterUI(this, uiName, settingsKey, color, counter, formatter ?? this.#defaultNumberFormatter.format));
|
|
196
203
|
return counter;
|
|
197
204
|
}
|
|
198
205
|
|
|
@@ -388,7 +395,7 @@ export class Counter {
|
|
|
388
395
|
export class CounterUI {
|
|
389
396
|
private readonly countersPane: CountersGraph;
|
|
390
397
|
counter: Counter;
|
|
391
|
-
|
|
398
|
+
readonly formatter: (arg0: number) => string;
|
|
392
399
|
private readonly setting: Common.Settings.Setting<boolean>;
|
|
393
400
|
private readonly filter: UI.Toolbar.ToolbarSettingCheckbox;
|
|
394
401
|
private readonly value: HTMLElement;
|
|
@@ -401,10 +408,10 @@ export class CounterUI {
|
|
|
401
408
|
|
|
402
409
|
constructor(
|
|
403
410
|
countersPane: CountersGraph, title: Common.UIString.LocalizedString, settingsKey: string, graphColor: string,
|
|
404
|
-
counter: Counter, formatter
|
|
411
|
+
counter: Counter, formatter: (arg0: number) => string) {
|
|
405
412
|
this.countersPane = countersPane;
|
|
406
413
|
this.counter = counter;
|
|
407
|
-
this.formatter = formatter
|
|
414
|
+
this.formatter = formatter;
|
|
408
415
|
|
|
409
416
|
this.setting = Common.Settings.Settings.instance().createSetting('timeline-counters-graph-' + settingsKey, true);
|
|
410
417
|
this.setting.setTitle(title);
|
|
@@ -474,7 +481,7 @@ export class CounterUI {
|
|
|
474
481
|
return;
|
|
475
482
|
}
|
|
476
483
|
const index = this.recordIndexAt(x);
|
|
477
|
-
const value =
|
|
484
|
+
const value = this.formatter(this.counter.values[index]);
|
|
478
485
|
this.value.textContent = `${this.counterName}: ${value}`;
|
|
479
486
|
const y = this.graphYValues[index] / window.devicePixelRatio;
|
|
480
487
|
this.marker.style.left = x + 'px';
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2024 The Chromium Authors
|
|
3
|
+
* Use of this source code is governed by a BSD-style license that can be
|
|
4
|
+
* found in the LICENSE file.
|
|
5
|
+
**/
|
|
4
6
|
export const SHOULD_SHOW_EASTER_EGG: boolean;
|
|
@@ -40,12 +40,14 @@ const UIStrings = {
|
|
|
40
40
|
const str_ = i18n.i18n.registerUIStrings('panels/timeline/LayoutShiftsTrackAppender.ts', UIStrings);
|
|
41
41
|
const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|
|
42
42
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
43
|
+
/**
|
|
44
|
+
* Bit of a hack: LayoutShifts are instant events, so have no duration. But
|
|
45
|
+
* OPP doesn't do well at making tiny events easy to spot and click. So we
|
|
46
|
+
* set it to a small duration so that the user is able to see and click
|
|
47
|
+
* them more easily. Long term we will explore a better UI solution to
|
|
48
|
+
* allow us to do this properly and not hack around it.
|
|
49
|
+
* TODO: Delete this once the new Layout Shift UI ships out of the TIMELINE_LAYOUT_SHIFT_DETAILS experiment
|
|
50
|
+
**/
|
|
49
51
|
export const LAYOUT_SHIFT_SYNTHETIC_DURATION = Trace.Types.Timing.Micro(5_000);
|
|
50
52
|
|
|
51
53
|
export class LayoutShiftsTrackAppender implements TrackAppender {
|
|
@@ -16,9 +16,11 @@ let activeManager: ModificationsManager|null;
|
|
|
16
16
|
export type UpdateAction =
|
|
17
17
|
'Remove'|'Add'|'UpdateLabel'|'UpdateTimeRange'|'UpdateLinkToEntry'|'EnterLabelEditState'|'LabelBringForward';
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
/**
|
|
20
|
+
* Event dispatched after an annotation was added, removed or updated.
|
|
21
|
+
* The event argument is the Overlay that needs to be created,removed
|
|
22
|
+
* or updated by `Overlays.ts` and the action that needs to be applied to it.
|
|
23
|
+
**/
|
|
22
24
|
export class AnnotationModifiedEvent extends Event {
|
|
23
25
|
static readonly eventName = 'annotationmodifiedevent';
|
|
24
26
|
|
|
@@ -135,11 +135,13 @@ const UIStrings = {
|
|
|
135
135
|
const str_ = i18n.i18n.registerUIStrings('panels/timeline/ThreadAppender.ts', UIStrings);
|
|
136
136
|
const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|
|
137
137
|
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
138
|
+
/**
|
|
139
|
+
* This appender is only triggered when the Renderer handler is run. At
|
|
140
|
+
* the moment this only happens in the basic component server example.
|
|
141
|
+
* In the future, once this appender fully supports the behaviour of the
|
|
142
|
+
* old engine's thread/sync tracks we can always run it by enabling the
|
|
143
|
+
* Renderer and Samples handler by default.
|
|
144
|
+
**/
|
|
143
145
|
export class ThreadAppender implements TrackAppender {
|
|
144
146
|
readonly appenderName: TrackAppenderName = 'Thread';
|
|
145
147
|
|
|
@@ -1111,7 +1111,7 @@ export class TimelineFlameChartDataProvider extends Common.ObjectWrapper.ObjectW
|
|
|
1111
1111
|
context.fillRect(barX, barY - 0.5, desiredBoxStartX - barX, barHeight);
|
|
1112
1112
|
context.fillRect(desiredBoxEndX, barY - 0.5, entireBarEndXPixel - desiredBoxEndX, barHeight);
|
|
1113
1113
|
|
|
1114
|
-
|
|
1114
|
+
/** Draws left and right whiskers **/
|
|
1115
1115
|
function drawTick(begin: number, end: number, y: number): void {
|
|
1116
1116
|
const tickHeightPx = 6;
|
|
1117
1117
|
context.moveTo(begin, y - tickHeightPx / 2);
|
|
@@ -1398,13 +1398,15 @@ export interface EventTypes {
|
|
|
1398
1398
|
};
|
|
1399
1399
|
}
|
|
1400
1400
|
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
|
|
1401
|
+
/**
|
|
1402
|
+
* an entry is a trace event, they are classified into "entry types"
|
|
1403
|
+
* because some events are rendered differently. For example, screenshot
|
|
1404
|
+
* events are rendered as images. Checks for entry types allow to have
|
|
1405
|
+
* different styles, names, etc. for events that look differently.
|
|
1406
|
+
* In the future we won't have this checks: instead we will forward
|
|
1407
|
+
* the event to the corresponding "track appender" and it will determine
|
|
1408
|
+
* how the event shall be rendered.
|
|
1409
|
+
**/
|
|
1408
1410
|
export const enum EntryType {
|
|
1409
1411
|
FRAME = 'Frame',
|
|
1410
1412
|
TRACK_APPENDER = 'TrackAppender',
|
|
@@ -307,7 +307,7 @@ export class TimelineFlameChartNetworkDataProvider implements PerfUI.FlameChart.
|
|
|
307
307
|
context.fillRect(barX, barY - 0.5, sendStart - barX, barHeight);
|
|
308
308
|
context.fillRect(finish, barY - 0.5, barX + barWidth - finish, barHeight);
|
|
309
309
|
|
|
310
|
-
|
|
310
|
+
/** Draws left and right whiskers **/
|
|
311
311
|
function drawTick(begin: number, end: number, y: number): void {
|
|
312
312
|
const /** @constant */ tickHeightPx = 6;
|
|
313
313
|
context.moveTo(begin, y - tickHeightPx / 2);
|
|
@@ -1430,6 +1430,23 @@ export class TimelineFlameChartView extends Common.ObjectWrapper.eventMixin<Even
|
|
|
1430
1430
|
}
|
|
1431
1431
|
}
|
|
1432
1432
|
|
|
1433
|
+
zoomEvent(event: Trace.Types.Events.Event): void {
|
|
1434
|
+
const traceBounds = TraceBounds.TraceBounds.BoundsManager.instance().state()?.micro.entireTraceBounds;
|
|
1435
|
+
if (!traceBounds) {
|
|
1436
|
+
return;
|
|
1437
|
+
}
|
|
1438
|
+
|
|
1439
|
+
this.#expandEntryTrack(event);
|
|
1440
|
+
this.revealEventVertically(event);
|
|
1441
|
+
const entryWindow = Trace.Helpers.Timing.traceWindowFromMicroSeconds(
|
|
1442
|
+
event.ts,
|
|
1443
|
+
Trace.Types.Timing.Micro(event.ts + (event.dur ?? 0)),
|
|
1444
|
+
);
|
|
1445
|
+
const expandedBounds = Trace.Helpers.Timing.expandWindowByPercentOrToOneMillisecond(entryWindow, traceBounds, 100);
|
|
1446
|
+
TraceBounds.TraceBounds.BoundsManager.instance().setTimelineVisibleWindow(
|
|
1447
|
+
expandedBounds, {ignoreMiniMapBounds: true, shouldAnimate: true});
|
|
1448
|
+
}
|
|
1449
|
+
|
|
1433
1450
|
revealEvent(event: Trace.Types.Events.Event): void {
|
|
1434
1451
|
const mainIndex = this.mainDataProvider.indexForEvent(event);
|
|
1435
1452
|
const networkIndex = this.networkDataProvider.indexForEvent(event);
|
|
@@ -660,6 +660,10 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
|
|
|
660
660
|
);
|
|
661
661
|
}
|
|
662
662
|
|
|
663
|
+
zoomEvent(event: Trace.Types.Events.Event): void {
|
|
664
|
+
this.flameChart.zoomEvent(event);
|
|
665
|
+
}
|
|
666
|
+
|
|
663
667
|
/**
|
|
664
668
|
* Activates an insight and ensures the sidebar is open too.
|
|
665
669
|
* Pass `highlightInsight: true` to flash the insight with the background highlight colour.
|
|
@@ -1806,11 +1810,13 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
|
|
|
1806
1810
|
return;
|
|
1807
1811
|
}
|
|
1808
1812
|
|
|
1809
|
-
|
|
1810
|
-
|
|
1811
|
-
|
|
1812
|
-
|
|
1813
|
-
|
|
1813
|
+
/**
|
|
1814
|
+
* To clear out the page and any state from prior test runs, we
|
|
1815
|
+
* navigate to about:blank before initiating the trace recording.
|
|
1816
|
+
* Once we have navigated to about:blank, we start recording and
|
|
1817
|
+
* then navigate to the original page URL, to ensure we profile the
|
|
1818
|
+
* page load.
|
|
1819
|
+
**/
|
|
1814
1820
|
function waitForAboutBlank(event: Common.EventTarget.EventTargetEvent<SDK.ResourceTreeModel.ResourceTreeFrame>):
|
|
1815
1821
|
void {
|
|
1816
1822
|
if (event.data.url === 'about:blank') {
|
|
@@ -2020,14 +2026,14 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
|
|
|
2020
2026
|
this.toggleRecordAction.setToggled(this.state === State.RECORDING);
|
|
2021
2027
|
this.toggleRecordAction.setEnabled(this.state === State.RECORDING || this.state === State.IDLE);
|
|
2022
2028
|
this.askAiButton?.setEnabled(this.state === State.IDLE && this.#hasActiveTrace());
|
|
2029
|
+
this.panelToolbar.setEnabled(this.state !== State.LOADING);
|
|
2030
|
+
this.panelRightToolbar.setEnabled(this.state !== State.LOADING);
|
|
2023
2031
|
|
|
2024
2032
|
if (!this.canRecord()) {
|
|
2025
2033
|
return;
|
|
2026
2034
|
}
|
|
2027
2035
|
|
|
2028
2036
|
this.recordReloadAction.setEnabled(isNode ? false : this.state === State.IDLE);
|
|
2029
|
-
this.panelToolbar.setEnabled(this.state !== State.LOADING);
|
|
2030
|
-
this.panelRightToolbar.setEnabled(this.state !== State.LOADING);
|
|
2031
2037
|
this.homeButton?.setEnabled(this.state === State.IDLE && this.#hasActiveTrace());
|
|
2032
2038
|
}
|
|
2033
2039
|
|
|
@@ -3150,12 +3156,13 @@ export const enum State {
|
|
|
3150
3156
|
RECORDING_FAILED = 'RecordingFailed',
|
|
3151
3157
|
}
|
|
3152
3158
|
|
|
3153
|
-
|
|
3159
|
+
/** Define row and header height, should be in sync with styles for timeline graphs. **/
|
|
3154
3160
|
export const rowHeight = 18;
|
|
3155
3161
|
|
|
3156
3162
|
export const headerHeight = 20;
|
|
3157
3163
|
export interface TimelineModeViewDelegate {
|
|
3158
3164
|
select(selection: TimelineSelection|null): void;
|
|
3165
|
+
zoomEvent(event: Trace.Types.Events.Event): void;
|
|
3159
3166
|
element: Element;
|
|
3160
3167
|
set3PCheckboxDisabled(disabled: boolean): void;
|
|
3161
3168
|
selectEntryAtTime(events: Trace.Types.Events.Event[]|null, time: number): void;
|