chrome-devtools-frontend 1.0.1522585 → 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 +22 -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/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/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 +55 -14
- 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 +8 -0
- 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/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 +20 -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 +1 -1
- 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 +37 -23
- 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 +12 -19
- 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/TimelinePanel.ts +10 -8
- package/front_end/panels/timeline/TimelineSelection.ts +4 -2
- package/front_end/panels/timeline/TimelineUIUtils.ts +5 -3
- package/front_end/panels/timeline/components/BreadcrumbsUI.ts +6 -4
- 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/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/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
|
@@ -44,10 +44,12 @@ const UIStrings = {
|
|
|
44
44
|
const str_ =
|
|
45
45
|
i18n.i18n.registerUIStrings('panels/linear_memory_inspector/components/LinearMemoryInspector.ts', UIStrings);
|
|
46
46
|
const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
47
|
+
/**
|
|
48
|
+
* If the LinearMemoryInspector only receives a portion
|
|
49
|
+
* of the original Uint8Array to show, it requires information
|
|
50
|
+
* on the 1. memoryOffset (at which index this portion starts),
|
|
51
|
+
* and on the 2. outerMemoryLength (length of the original Uint8Array).
|
|
52
|
+
**/
|
|
51
53
|
export interface LinearMemoryInspectorData {
|
|
52
54
|
memory: Uint8Array<ArrayBuffer>;
|
|
53
55
|
address: number;
|
|
@@ -143,7 +143,7 @@ const i18nLazyString = i18n.i18n.getLazilyComputedLocalizedString.bind(undefined
|
|
|
143
143
|
|
|
144
144
|
type TabData = Record<string, string|object>;
|
|
145
145
|
|
|
146
|
-
|
|
146
|
+
/** Keep this enum in sync with panels/media/base/media_log_properties.h **/
|
|
147
147
|
export const enum PlayerPropertyKeys {
|
|
148
148
|
RESOLUTION = 'kResolution',
|
|
149
149
|
TOTAL_BYTES = 'kTotalBytes',
|
|
@@ -232,11 +232,6 @@ const UIStrings = {
|
|
|
232
232
|
* @example {4 B} PH1
|
|
233
233
|
*/
|
|
234
234
|
servedFromSignedHttpExchange: 'Served from Signed HTTP Exchange, resource size: {PH1}',
|
|
235
|
-
/**
|
|
236
|
-
* @description Cell title in Network Data Grid Node of the Network panel. Indicates that the response came from preloaded web bundle. See https://web.dev/web-bundles/
|
|
237
|
-
* @example {4 B} PH1
|
|
238
|
-
*/
|
|
239
|
-
servedFromWebBundle: 'Served from Web Bundle, resource size: {PH1}',
|
|
240
235
|
/**
|
|
241
236
|
* @description Text of a DOM element in Network Data Grid Node of the Network panel
|
|
242
237
|
*/
|
|
@@ -278,19 +273,6 @@ const UIStrings = {
|
|
|
278
273
|
* @description Text describing the depth of a top level node in the network datagrid
|
|
279
274
|
*/
|
|
280
275
|
level: 'level 1',
|
|
281
|
-
/**
|
|
282
|
-
* @description Text in Network Data Grid Node of the Network panel
|
|
283
|
-
*/
|
|
284
|
-
webBundleError: 'Web Bundle error',
|
|
285
|
-
/**
|
|
286
|
-
* @description Alternative text for the web bundle inner request icon in Network Data Grid Node of the Network panel
|
|
287
|
-
* Indicates that the response came from preloaded web bundle. See https://web.dev/web-bundles/
|
|
288
|
-
*/
|
|
289
|
-
webBundleInnerRequest: 'Served from Web Bundle',
|
|
290
|
-
/**
|
|
291
|
-
* @description Text in Network Data Grid Node of the Network panel
|
|
292
|
-
*/
|
|
293
|
-
webBundle: '(Web Bundle)',
|
|
294
276
|
/**
|
|
295
277
|
* @description Tooltip text for subtitles of Time cells in Network request rows. Latency is the time difference
|
|
296
278
|
* between the time a response to a network request is received and the time the request is started.
|
|
@@ -1202,22 +1184,6 @@ export class NetworkRequestNode extends NetworkNode {
|
|
|
1202
1184
|
}
|
|
1203
1185
|
|
|
1204
1186
|
if (columnId === 'name') {
|
|
1205
|
-
const webBundleInnerRequestInfo = this.requestInternal.webBundleInnerRequestInfo();
|
|
1206
|
-
if (webBundleInnerRequestInfo) {
|
|
1207
|
-
const secondIconElement = IconButton.Icon.create('bundle', 'icon');
|
|
1208
|
-
secondIconElement.style.color = 'var(--icon-info)';
|
|
1209
|
-
secondIconElement.title = i18nString(UIStrings.webBundleInnerRequest);
|
|
1210
|
-
|
|
1211
|
-
const networkManager = SDK.NetworkManager.NetworkManager.forRequest(this.requestInternal);
|
|
1212
|
-
if (webBundleInnerRequestInfo.bundleRequestId && networkManager) {
|
|
1213
|
-
cell.appendChild(Components.Linkifier.Linkifier.linkifyRevealable(
|
|
1214
|
-
new NetworkForward.NetworkRequestId.NetworkRequestId(
|
|
1215
|
-
webBundleInnerRequestInfo.bundleRequestId, networkManager),
|
|
1216
|
-
secondIconElement, undefined, undefined, undefined, 'webbundle-request'));
|
|
1217
|
-
} else {
|
|
1218
|
-
cell.appendChild(secondIconElement);
|
|
1219
|
-
}
|
|
1220
|
-
}
|
|
1221
1187
|
const name = Platform.StringUtilities.trimMiddle(this.requestInternal.name(), 100);
|
|
1222
1188
|
const networkManager = SDK.NetworkManager.NetworkManager.forRequest(this.requestInternal);
|
|
1223
1189
|
UI.UIUtils.createTextChild(cell, networkManager ? networkManager.target().decorateLabel(name) : name);
|
|
@@ -1236,12 +1202,8 @@ export class NetworkRequestNode extends NetworkNode {
|
|
|
1236
1202
|
'network-dim-cell', !this.isFailed() && (this.requestInternal.cached() || !this.requestInternal.statusCode));
|
|
1237
1203
|
|
|
1238
1204
|
const corsErrorStatus = this.requestInternal.corsErrorStatus();
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
if (webBundleErrorMessage) {
|
|
1242
|
-
this.setTextAndTitle(cell, i18nString(UIStrings.webBundleError), webBundleErrorMessage);
|
|
1243
|
-
} else if (
|
|
1244
|
-
this.requestInternal.failed && !this.requestInternal.canceled && !this.requestInternal.wasBlocked() &&
|
|
1205
|
+
|
|
1206
|
+
if (this.requestInternal.failed && !this.requestInternal.canceled && !this.requestInternal.wasBlocked() &&
|
|
1245
1207
|
!corsErrorStatus) {
|
|
1246
1208
|
const failText = i18nString(UIStrings.failed);
|
|
1247
1209
|
if (this.requestInternal.localizedFailDescription) {
|
|
@@ -1526,10 +1488,6 @@ export class NetworkRequestNode extends NetworkNode {
|
|
|
1526
1488
|
UI.UIUtils.createTextChild(cell, i18n.i18n.lockedString('(signed-exchange)'));
|
|
1527
1489
|
UI.Tooltip.Tooltip.install(cell, i18nString(UIStrings.servedFromSignedHttpExchange, {PH1: resourceSize}));
|
|
1528
1490
|
cell.classList.add('network-dim-cell');
|
|
1529
|
-
} else if (this.requestInternal.webBundleInnerRequestInfo()) {
|
|
1530
|
-
UI.UIUtils.createTextChild(cell, i18nString(UIStrings.webBundle));
|
|
1531
|
-
UI.Tooltip.Tooltip.install(cell, i18nString(UIStrings.servedFromWebBundle, {PH1: resourceSize}));
|
|
1532
|
-
cell.classList.add('network-dim-cell');
|
|
1533
1491
|
} else if (this.requestInternal.fromPrefetchCache()) {
|
|
1534
1492
|
UI.UIUtils.createTextChild(cell, i18nString(UIStrings.prefetchCache));
|
|
1535
1493
|
UI.Tooltip.Tooltip.install(cell, i18nString(UIStrings.servedFromPrefetchCacheResource, {PH1: resourceSize}));
|
|
@@ -2512,10 +2512,12 @@ export class NetworkLogView extends Common.ObjectWrapper.eventMixin<EventTypes,
|
|
|
2512
2512
|
str.replace(/[`\$"]/g, '`$&').replace(/[^\x20-\x7E]/g, char => '$([char]' + char.charCodeAt(0) + ')') + '"';
|
|
2513
2513
|
}
|
|
2514
2514
|
|
|
2515
|
-
|
|
2516
|
-
|
|
2517
|
-
|
|
2518
|
-
|
|
2515
|
+
/**
|
|
2516
|
+
* Generate a WebRequestSession object with the UserAgent and Cookie header values.
|
|
2517
|
+
* This is used to pass the user-agent and cookie headers to Invoke-WebRequest because the Invoke-WebRequest
|
|
2518
|
+
* command does not allow setting these headers through the -Headers parameter. See docs at:
|
|
2519
|
+
* https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/invoke-webrequest?view=powershell-7.1#parameters
|
|
2520
|
+
**/
|
|
2519
2521
|
function generatePowerShellSession(request: SDK.NetworkRequest.NetworkRequest): string|null {
|
|
2520
2522
|
const requestHeaders = request.requestHeaders();
|
|
2521
2523
|
const props = [];
|
|
@@ -8,12 +8,10 @@ import '../../ui/legacy/legacy.js';
|
|
|
8
8
|
import * as i18n from '../../core/i18n/i18n.js';
|
|
9
9
|
import type * as SDK from '../../core/sdk/sdk.js';
|
|
10
10
|
import * as TextUtils from '../../models/text_utils/text_utils.js';
|
|
11
|
-
import * as LegacyWrapper from '../../ui/components/legacy_wrapper/legacy_wrapper.js';
|
|
12
11
|
import * as SourceFrame from '../../ui/legacy/components/source_frame/source_frame.js';
|
|
13
12
|
import * as UI from '../../ui/legacy/legacy.js';
|
|
14
13
|
import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
|
|
15
14
|
|
|
16
|
-
import * as NetworkComponents from './components/components.js';
|
|
17
15
|
import {RequestHTMLView} from './RequestHTMLView.js';
|
|
18
16
|
import {SignedExchangeInfoView} from './SignedExchangeInfoView.js';
|
|
19
17
|
|
|
@@ -90,11 +88,6 @@ export class RequestPreviewView extends UI.Widget.VBox {
|
|
|
90
88
|
return new SignedExchangeInfoView(this.request);
|
|
91
89
|
}
|
|
92
90
|
|
|
93
|
-
if (this.request.webBundleInfo()) {
|
|
94
|
-
return LegacyWrapper.LegacyWrapper.legacyWrapper(
|
|
95
|
-
UI.Widget.VBox, new NetworkComponents.WebBundleInfoView.WebBundleInfoView(this.request));
|
|
96
|
-
}
|
|
97
|
-
|
|
98
91
|
const htmlErrorPreview = await this.htmlPreview();
|
|
99
92
|
if (htmlErrorPreview) {
|
|
100
93
|
return htmlErrorPreview;
|
|
@@ -58,10 +58,6 @@ const UIStrings = {
|
|
|
58
58
|
* @description Text in Request Headers View of the Network panel
|
|
59
59
|
*/
|
|
60
60
|
fromSignedexchange: '(from signed-exchange)',
|
|
61
|
-
/**
|
|
62
|
-
* @description Text in Request Headers View of the Network panel
|
|
63
|
-
*/
|
|
64
|
-
fromWebBundle: '(from Web Bundle)',
|
|
65
61
|
/**
|
|
66
62
|
* @description Section header for a list of the main aspects of a http request
|
|
67
63
|
*/
|
|
@@ -450,8 +446,6 @@ export class RequestHeadersView extends LegacyWrapper.LegacyWrapper.WrappableCom
|
|
|
450
446
|
comment = i18nString(UIStrings.fromServiceWorker);
|
|
451
447
|
} else if (this.#request.redirectSourceSignedExchangeInfoHasNoErrors()) {
|
|
452
448
|
comment = i18nString(UIStrings.fromSignedexchange);
|
|
453
|
-
} else if (this.#request.webBundleInnerRequestInfo()) {
|
|
454
|
-
comment = i18nString(UIStrings.fromWebBundle);
|
|
455
449
|
} else if (this.#request.fromPrefetchCache()) {
|
|
456
450
|
comment = i18nString(UIStrings.fromPrefetchCache);
|
|
457
451
|
} else if (this.#request.cached()) {
|
|
@@ -9,7 +9,6 @@ import * as RequestHeaderSection from './RequestHeaderSection.js';
|
|
|
9
9
|
import * as RequestHeadersView from './RequestHeadersView.js';
|
|
10
10
|
import * as RequestTrustTokensView from './RequestTrustTokensView.js';
|
|
11
11
|
import * as ResponseHeaderSection from './ResponseHeaderSection.js';
|
|
12
|
-
import * as WebBundleInfoView from './WebBundleInfoView.js';
|
|
13
12
|
|
|
14
13
|
export {
|
|
15
14
|
DirectSocketConnectionView,
|
|
@@ -19,5 +18,4 @@ export {
|
|
|
19
18
|
RequestHeadersView,
|
|
20
19
|
RequestTrustTokensView,
|
|
21
20
|
ResponseHeaderSection,
|
|
22
|
-
WebBundleInfoView,
|
|
23
21
|
};
|
|
@@ -734,7 +734,7 @@ export class HeapSnapshotRetainmentDataGrid extends HeapSnapshotContainmentDataG
|
|
|
734
734
|
}
|
|
735
735
|
}
|
|
736
736
|
|
|
737
|
-
|
|
737
|
+
/** TODO(crbug.com/1228674): Remove this enum, it is only used in web tests. **/
|
|
738
738
|
export enum HeapSnapshotRetainmentDataGridEvents {
|
|
739
739
|
/* eslint-disable @typescript-eslint/naming-convention -- Used by web_tests. */
|
|
740
740
|
ExpandRetainersComplete = 'ExpandRetainersComplete',
|
|
@@ -1084,6 +1084,8 @@ export class HeapSnapshotConstructorNode extends HeapSnapshotGridNode {
|
|
|
1084
1084
|
readonly retainedSize: number;
|
|
1085
1085
|
readonly classKey: string;
|
|
1086
1086
|
|
|
1087
|
+
#numberFormatter = new Intl.NumberFormat(i18n.DevToolsLocale.DevToolsLocale.instance().locale);
|
|
1088
|
+
|
|
1087
1089
|
constructor(
|
|
1088
1090
|
dataGrid: HeapSnapshotConstructorsDataGrid, classKey: string,
|
|
1089
1091
|
aggregate: HeapSnapshotModel.HeapSnapshotModel.Aggregate,
|
|
@@ -1102,7 +1104,7 @@ export class HeapSnapshotConstructorNode extends HeapSnapshotGridNode {
|
|
|
1102
1104
|
const shallowSizePercent = this.shallowSize / snapshot.totalSize * 100.0;
|
|
1103
1105
|
this.data = {
|
|
1104
1106
|
object: this.nameInternal,
|
|
1105
|
-
count:
|
|
1107
|
+
count: this.#numberFormatter.format(this.count),
|
|
1106
1108
|
distance: this.toUIDistance(this.distance),
|
|
1107
1109
|
shallowSize: i18n.ByteUtilities.formatBytesToKb(this.shallowSize),
|
|
1108
1110
|
retainedSize: i18n.ByteUtilities.formatBytesToKb(this.retainedSize),
|
|
@@ -1143,7 +1145,7 @@ export class HeapSnapshotConstructorNode extends HeapSnapshotGridNode {
|
|
|
1143
1145
|
override createCell(columnId: string): HTMLElement {
|
|
1144
1146
|
const cell = columnId === 'object' ? super.createCell(columnId) : this.createValueCell(columnId);
|
|
1145
1147
|
if (columnId === 'object' && this.count > 1) {
|
|
1146
|
-
cell.appendChild(UI.Fragment.html`<span class="objects-count">×${this.count}</span>`);
|
|
1148
|
+
cell.appendChild(UI.Fragment.html`<span class="objects-count">×${this.data.count}</span>`);
|
|
1147
1149
|
}
|
|
1148
1150
|
return cell;
|
|
1149
1151
|
}
|
|
@@ -177,8 +177,8 @@ export interface ViewInput {
|
|
|
177
177
|
onClear: () => void;
|
|
178
178
|
onSave: () => void;
|
|
179
179
|
onSplitChange: (onlyMain: boolean) => void;
|
|
180
|
-
onSelect: (e:
|
|
181
|
-
onContextMenu: (
|
|
180
|
+
onSelect: (e: Message|undefined) => void;
|
|
181
|
+
onContextMenu: (message: Message, menu: UI.ContextMenu.ContextMenu) => void;
|
|
182
182
|
onFilterChanged: (filter: string) => void;
|
|
183
183
|
onCommandChange: (command: string) => void;
|
|
184
184
|
onCommandSubmitted: (input: string) => void;
|
|
@@ -230,7 +230,7 @@ export const DEFAULT_VIEW: View = (input, output, target) => {
|
|
|
230
230
|
list="filter-suggestions"
|
|
231
231
|
style="flex-grow: 1"
|
|
232
232
|
value=${input.filter}
|
|
233
|
-
@change=${(e:
|
|
233
|
+
@change=${(e: CustomEvent<string>) => input.onFilterChanged(e.detail)}>
|
|
234
234
|
<datalist id="filter-suggestions">
|
|
235
235
|
${input.filterKeys.map(key => html`
|
|
236
236
|
<option value=${key + ':'}></option>
|
|
@@ -243,8 +243,6 @@ export const DEFAULT_VIEW: View = (input, output, target) => {
|
|
|
243
243
|
<devtools-data-grid
|
|
244
244
|
striped
|
|
245
245
|
slot="main"
|
|
246
|
-
@select=${input.onSelect}
|
|
247
|
-
@contextmenu=${input.onContextMenu}
|
|
248
246
|
.filters=${input.parseFilter(input.filter)}>
|
|
249
247
|
<table>
|
|
250
248
|
<tr>
|
|
@@ -275,8 +273,9 @@ export const DEFAULT_VIEW: View = (input, output, target) => {
|
|
|
275
273
|
</tr>
|
|
276
274
|
${
|
|
277
275
|
input.messages.map(
|
|
278
|
-
|
|
279
|
-
<tr
|
|
276
|
+
message => html`
|
|
277
|
+
<tr @select=${() => input.onSelect(message)}
|
|
278
|
+
@contextmenu=${(e: CustomEvent<UI.ContextMenu.ContextMenu>) => input.onContextMenu(message, e.detail)}
|
|
280
279
|
style="--override-data-grid-row-background-color: var(--sys-color-surface3)">
|
|
281
280
|
${'id' in message ? html`
|
|
282
281
|
<td title="sent">
|
|
@@ -331,8 +330,8 @@ export const DEFAULT_VIEW: View = (input, output, target) => {
|
|
|
331
330
|
list="command-input-suggestions"
|
|
332
331
|
placeholder=${i18nString(UIStrings.sendRawCDPCommand)}
|
|
333
332
|
title=${i18nString(UIStrings.sendRawCDPCommandExplanation)}
|
|
334
|
-
@change=${(e:
|
|
335
|
-
@submit=${(e:
|
|
333
|
+
@change=${(e: CustomEvent<string>) => input.onCommandChange(e.detail)}
|
|
334
|
+
@submit=${(e: CustomEvent<string>) => input.onCommandSubmitted(e.detail)}>
|
|
336
335
|
<datalist id="command-input-suggestions">
|
|
337
336
|
${input.commandSuggestions.map(c => html`<option value=${c}></option>`)}
|
|
338
337
|
</datalist>
|
|
@@ -439,17 +438,11 @@ export class ProtocolMonitorImpl extends UI.Panel.Panel {
|
|
|
439
438
|
onSave: () => {
|
|
440
439
|
void this.saveAsFile();
|
|
441
440
|
},
|
|
442
|
-
onSelect: (
|
|
443
|
-
|
|
444
|
-
this.#selectedMessage = !isNaN(index) ? this.#messages[index] : undefined;
|
|
441
|
+
onSelect: (message: Message|undefined) => {
|
|
442
|
+
this.#selectedMessage = message;
|
|
445
443
|
this.requestUpdate();
|
|
446
444
|
},
|
|
447
|
-
onContextMenu: (
|
|
448
|
-
const message = this.#messages[parseInt(e.detail?.element?.dataset?.index || '', 10)];
|
|
449
|
-
if (message) {
|
|
450
|
-
this.#populateContextMenu(e.detail.menu, message);
|
|
451
|
-
}
|
|
452
|
-
},
|
|
445
|
+
onContextMenu: this.#populateContextMenu.bind(this),
|
|
453
446
|
onCommandChange: (command: string) => {
|
|
454
447
|
this.#command = command;
|
|
455
448
|
},
|
|
@@ -481,7 +474,7 @@ export class ProtocolMonitorImpl extends UI.Panel.Panel {
|
|
|
481
474
|
this.#view(viewInput, viewOutput, this.contentElement);
|
|
482
475
|
}
|
|
483
476
|
|
|
484
|
-
#populateContextMenu(menu: UI.ContextMenu.ContextMenu
|
|
477
|
+
#populateContextMenu(message: Message, menu: UI.ContextMenu.ContextMenu): void {
|
|
485
478
|
/**
|
|
486
479
|
* You can click the "Edit and resend" item in the context menu to be
|
|
487
480
|
* taken to the CDP editor with the filled with the selected command.
|
|
@@ -107,8 +107,6 @@ const renderSearchMatches =
|
|
|
107
107
|
return html`
|
|
108
108
|
${visibleMatches.map(({lineContent, matchRanges, resultLabel}, i) => html`
|
|
109
109
|
<li role="treeitem" class="search-match" @click=${() => onSelectMatch(searchResult, i)}
|
|
110
|
-
${UI.TreeOutline.TreeSearch.highlight(matchRanges.map(range =>
|
|
111
|
-
({offset: range.offset + `${resultLabel}`.length, length: range.length})), undefined)}
|
|
112
110
|
@keydown=${(event: KeyboardEvent) => {
|
|
113
111
|
if (event.key === 'Enter') {
|
|
114
112
|
onSelectMatch(searchResult, i);
|
|
@@ -123,7 +121,8 @@ const renderSearchMatches =
|
|
|
123
121
|
? i18nString(UIStrings.lineS, {PH1: resultLabel}) : resultLabel}>
|
|
124
122
|
${resultLabel}
|
|
125
123
|
</span>
|
|
126
|
-
<span class="search-match-content" aria-label="${lineContent} line"
|
|
124
|
+
<span class="search-match-content" aria-label="${lineContent} line"
|
|
125
|
+
${UI.TreeOutline.TreeSearch.highlight(matchRanges, undefined)}>
|
|
127
126
|
${lineContent}
|
|
128
127
|
</span>
|
|
129
128
|
</button>
|
|
@@ -122,7 +122,7 @@ const allStatusStrings = [
|
|
|
122
122
|
const INCOGNITO_EXPLANATION_URL = 'https://support.google.com/chrome/answer/95464?hl=en&co=GENIE.Platform%3DDesktop' as
|
|
123
123
|
Platform.DevToolsPath.UrlString;
|
|
124
124
|
|
|
125
|
-
|
|
125
|
+
/** A simplified representation of a network request for mock data. **/
|
|
126
126
|
interface MockNetworkRequest {
|
|
127
127
|
requestId: string;
|
|
128
128
|
url: string;
|
|
@@ -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
|
}
|