devtools-tracing 1.1.0 → 1.2.0
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/.claude/settings.local.json +14 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +28854 -0
- package/package.json +10 -8
- package/generate.ts +0 -649
- package/index.ts +0 -17
- package/lib/extension-api/ExtensionAPI.d.ts +0 -357
- package/lib/front_end/core/common/App.ts +0 -7
- package/lib/front_end/core/common/AppProvider.ts +0 -32
- package/lib/front_end/core/common/Base64.ts +0 -47
- package/lib/front_end/core/common/CharacterIdMap.ts +0 -30
- package/lib/front_end/core/common/Color.ts +0 -2506
- package/lib/front_end/core/common/ColorConverter.ts +0 -402
- package/lib/front_end/core/common/ColorUtils.ts +0 -252
- package/lib/front_end/core/common/Console.ts +0 -114
- package/lib/front_end/core/common/Debouncer.ts +0 -15
- package/lib/front_end/core/common/EventTarget.ts +0 -52
- package/lib/front_end/core/common/Gzip.ts +0 -74
- package/lib/front_end/core/common/JavaScriptMetaData.ts +0 -29
- package/lib/front_end/core/common/Lazy.ts +0 -31
- package/lib/front_end/core/common/Linkifier.ts +0 -55
- package/lib/front_end/core/common/MapWithDefault.ts +0 -26
- package/lib/front_end/core/common/Mutex.ts +0 -55
- package/lib/front_end/core/common/Object.ts +0 -145
- package/lib/front_end/core/common/ParsedURL.ts +0 -554
- package/lib/front_end/core/common/Progress.ts +0 -180
- package/lib/front_end/core/common/QueryParamHandler.ts +0 -7
- package/lib/front_end/core/common/ResolverBase.ts +0 -85
- package/lib/front_end/core/common/ResourceType.ts +0 -588
- package/lib/front_end/core/common/ReturnToPanel.ts +0 -17
- package/lib/front_end/core/common/Revealer.ts +0 -192
- package/lib/front_end/core/common/Runnable.ts +0 -41
- package/lib/front_end/core/common/SegmentedRange.ts +0 -87
- package/lib/front_end/core/common/SettingRegistration.ts +0 -339
- package/lib/front_end/core/common/Settings.ts +0 -1497
- package/lib/front_end/core/common/SimpleHistoryManager.ts +0 -124
- package/lib/front_end/core/common/StringOutputStream.ts +0 -26
- package/lib/front_end/core/common/TextDictionary.ts +0 -48
- package/lib/front_end/core/common/Throttler.ts +0 -99
- package/lib/front_end/core/common/Trie.ts +0 -152
- package/lib/front_end/core/common/Worker.ts +0 -60
- package/lib/front_end/core/common/common.ts +0 -81
- package/lib/front_end/core/host/AidaClient.ts +0 -733
- package/lib/front_end/core/host/GdpClient.ts +0 -316
- package/lib/front_end/core/host/InspectorFrontendHost.ts +0 -648
- package/lib/front_end/core/host/InspectorFrontendHostAPI.ts +0 -551
- package/lib/front_end/core/host/Platform.ts +0 -76
- package/lib/front_end/core/host/ResourceLoader.ts +0 -282
- package/lib/front_end/core/host/UserMetrics.ts +0 -1230
- package/lib/front_end/core/host/host.ts +0 -23
- package/lib/front_end/core/i18n/ByteUtilities.ts +0 -82
- package/lib/front_end/core/i18n/DevToolsLocale.ts +0 -87
- package/lib/front_end/core/i18n/NumberFormatter.ts +0 -82
- package/lib/front_end/core/i18n/i18n.ts +0 -17
- package/lib/front_end/core/i18n/i18nImpl.ts +0 -204
- package/lib/front_end/core/i18n/i18nTypes.ts +0 -10
- package/lib/front_end/core/i18n/locales.js +0 -14
- package/lib/front_end/core/i18n/time-utilities.ts +0 -174
- package/lib/front_end/core/platform/ArrayUtilities.ts +0 -271
- package/lib/front_end/core/platform/Brand.ts +0 -23
- package/lib/front_end/core/platform/Constructor.ts +0 -10
- package/lib/front_end/core/platform/DOMUtilities.ts +0 -138
- package/lib/front_end/core/platform/DateUtilities.ts +0 -15
- package/lib/front_end/core/platform/DevToolsPath.ts +0 -53
- package/lib/front_end/core/platform/KeyboardUtilities.ts +0 -38
- package/lib/front_end/core/platform/MapUtilities.ts +0 -95
- package/lib/front_end/core/platform/MimeType.ts +0 -175
- package/lib/front_end/core/platform/NumberUtilities.ts +0 -80
- package/lib/front_end/core/platform/StringUtilities.ts +0 -588
- package/lib/front_end/core/platform/Timing.ts +0 -17
- package/lib/front_end/core/platform/TypedArrayUtilities.ts +0 -189
- package/lib/front_end/core/platform/TypescriptUtilities.ts +0 -86
- package/lib/front_end/core/platform/UIString.ts +0 -39
- package/lib/front_end/core/platform/UserVisibleError.ts +0 -28
- package/lib/front_end/core/platform/platform.ts +0 -45
- package/lib/front_end/core/protocol_client/ConnectionTransport.ts +0 -26
- package/lib/front_end/core/protocol_client/InspectorBackend.ts +0 -1050
- package/lib/front_end/core/protocol_client/NodeURL.ts +0 -42
- package/lib/front_end/core/protocol_client/protocol_client.ts +0 -13
- package/lib/front_end/core/root/Runtime.ts +0 -609
- package/lib/front_end/core/root/root.ts +0 -6
- package/lib/front_end/core/sdk/AccessibilityModel.ts +0 -353
- package/lib/front_end/core/sdk/AnimationModel.ts +0 -1041
- package/lib/front_end/core/sdk/AutofillModel.ts +0 -184
- package/lib/front_end/core/sdk/CPUProfilerModel.ts +0 -148
- package/lib/front_end/core/sdk/CPUThrottlingManager.ts +0 -282
- package/lib/front_end/core/sdk/CSSContainerQuery.ts +0 -139
- package/lib/front_end/core/sdk/CSSFontFace.ts +0 -40
- package/lib/front_end/core/sdk/CSSLayer.ts +0 -30
- package/lib/front_end/core/sdk/CSSMatchedStyles.ts +0 -1646
- package/lib/front_end/core/sdk/CSSMedia.ts +0 -121
- package/lib/front_end/core/sdk/CSSMetadata.ts +0 -1647
- package/lib/front_end/core/sdk/CSSModel.ts +0 -1128
- package/lib/front_end/core/sdk/CSSProperty.ts +0 -384
- package/lib/front_end/core/sdk/CSSPropertyParser.ts +0 -681
- package/lib/front_end/core/sdk/CSSPropertyParserMatchers.ts +0 -1395
- package/lib/front_end/core/sdk/CSSQuery.ts +0 -72
- package/lib/front_end/core/sdk/CSSRule.ts +0 -465
- package/lib/front_end/core/sdk/CSSScope.ts +0 -30
- package/lib/front_end/core/sdk/CSSStartingStyle.ts +0 -29
- package/lib/front_end/core/sdk/CSSStyleDeclaration.ts +0 -313
- package/lib/front_end/core/sdk/CSSStyleSheetHeader.ts +0 -196
- package/lib/front_end/core/sdk/CSSSupports.ts +0 -33
- package/lib/front_end/core/sdk/CategorizedBreakpoint.ts +0 -64
- package/lib/front_end/core/sdk/ChildTargetManager.ts +0 -314
- package/lib/front_end/core/sdk/CompilerSourceMappingContentProvider.ts +0 -62
- package/lib/front_end/core/sdk/Connections.ts +0 -293
- package/lib/front_end/core/sdk/ConsoleModel.ts +0 -808
- package/lib/front_end/core/sdk/ConsoleModelTypes.ts +0 -15
- package/lib/front_end/core/sdk/Cookie.ts +0 -319
- package/lib/front_end/core/sdk/CookieModel.ts +0 -239
- package/lib/front_end/core/sdk/CookieParser.ts +0 -185
- package/lib/front_end/core/sdk/DOMDebuggerModel.ts +0 -787
- package/lib/front_end/core/sdk/DOMModel.ts +0 -1961
- package/lib/front_end/core/sdk/DebuggerModel.ts +0 -1605
- package/lib/front_end/core/sdk/EmulationModel.ts +0 -648
- package/lib/front_end/core/sdk/EnhancedTracesParser.ts +0 -515
- package/lib/front_end/core/sdk/EventBreakpointsModel.ts +0 -183
- package/lib/front_end/core/sdk/FrameAssociated.ts +0 -11
- package/lib/front_end/core/sdk/FrameManager.ts +0 -259
- package/lib/front_end/core/sdk/HeapProfilerModel.ts +0 -225
- package/lib/front_end/core/sdk/HttpReasonPhraseStrings.ts +0 -77
- package/lib/front_end/core/sdk/IOModel.ts +0 -91
- package/lib/front_end/core/sdk/IsolateManager.ts +0 -257
- package/lib/front_end/core/sdk/IssuesModel.ts +0 -70
- package/lib/front_end/core/sdk/LayerTreeBase.ts +0 -169
- package/lib/front_end/core/sdk/LogModel.ts +0 -56
- package/lib/front_end/core/sdk/NetworkManager.ts +0 -2823
- package/lib/front_end/core/sdk/NetworkRequest.ts +0 -2253
- package/lib/front_end/core/sdk/OverlayColorGenerator.ts +0 -52
- package/lib/front_end/core/sdk/OverlayModel.ts +0 -1011
- package/lib/front_end/core/sdk/OverlayPersistentHighlighter.ts +0 -522
- package/lib/front_end/core/sdk/PageLoad.ts +0 -35
- package/lib/front_end/core/sdk/PageResourceLoader.ts +0 -435
- package/lib/front_end/core/sdk/PaintProfiler.ts +0 -110
- package/lib/front_end/core/sdk/PerformanceMetricsModel.ts +0 -84
- package/lib/front_end/core/sdk/PreloadingModel.ts +0 -863
- package/lib/front_end/core/sdk/RehydratingConnection.ts +0 -386
- package/lib/front_end/core/sdk/RehydratingObject.ts +0 -66
- package/lib/front_end/core/sdk/RemoteObject.ts +0 -1160
- package/lib/front_end/core/sdk/Resource.ts +0 -232
- package/lib/front_end/core/sdk/ResourceTreeModel.ts +0 -1160
- package/lib/front_end/core/sdk/RuntimeModel.ts +0 -732
- package/lib/front_end/core/sdk/SDKModel.ts +0 -65
- package/lib/front_end/core/sdk/ScopeTreeCache.ts +0 -45
- package/lib/front_end/core/sdk/ScreenCaptureModel.ts +0 -255
- package/lib/front_end/core/sdk/Script.ts +0 -534
- package/lib/front_end/core/sdk/SecurityOriginManager.ts +0 -76
- package/lib/front_end/core/sdk/ServerSentEvents.ts +0 -80
- package/lib/front_end/core/sdk/ServerSentEventsProtocol.ts +0 -122
- package/lib/front_end/core/sdk/ServerTiming.ts +0 -260
- package/lib/front_end/core/sdk/ServiceWorkerCacheModel.ts +0 -377
- package/lib/front_end/core/sdk/ServiceWorkerManager.ts +0 -605
- package/lib/front_end/core/sdk/SourceMap.ts +0 -867
- package/lib/front_end/core/sdk/SourceMapCache.ts +0 -54
- package/lib/front_end/core/sdk/SourceMapFunctionRanges.ts +0 -156
- package/lib/front_end/core/sdk/SourceMapManager.ts +0 -239
- package/lib/front_end/core/sdk/SourceMapScopeChainEntry.ts +0 -189
- package/lib/front_end/core/sdk/SourceMapScopesInfo.ts +0 -508
- package/lib/front_end/core/sdk/StorageBucketsModel.ts +0 -204
- package/lib/front_end/core/sdk/StorageKeyManager.ts +0 -98
- package/lib/front_end/core/sdk/Target.ts +0 -332
- package/lib/front_end/core/sdk/TargetManager.ts +0 -453
- package/lib/front_end/core/sdk/TraceObject.ts +0 -61
- package/lib/front_end/core/sdk/WebAuthnModel.ts +0 -104
- package/lib/front_end/core/sdk/sdk.ts +0 -174
- package/lib/front_end/entrypoints/formatter_worker/FormatterActions.ts +0 -59
- package/lib/front_end/generated/InspectorBackendCommands.js +0 -1617
- package/lib/front_end/generated/SupportedCSSProperties.js +0 -7512
- package/lib/front_end/generated/protocol-proxy-api.d.ts +0 -5022
- package/lib/front_end/generated/protocol.ts +0 -22014
- package/lib/front_end/models/bindings/CSSWorkspaceBinding.ts +0 -318
- package/lib/front_end/models/bindings/CompilerScriptMapping.ts +0 -536
- package/lib/front_end/models/bindings/ContentProviderBasedProject.ts +0 -187
- package/lib/front_end/models/bindings/DebuggerLanguagePlugins.ts +0 -1197
- package/lib/front_end/models/bindings/DebuggerWorkspaceBinding.ts +0 -733
- package/lib/front_end/models/bindings/DefaultScriptMapping.ts +0 -141
- package/lib/front_end/models/bindings/FileUtils.ts +0 -228
- package/lib/front_end/models/bindings/LiveLocation.ts +0 -81
- package/lib/front_end/models/bindings/NetworkProject.ts +0 -157
- package/lib/front_end/models/bindings/PresentationConsoleMessageHelper.ts +0 -312
- package/lib/front_end/models/bindings/ResourceMapping.ts +0 -539
- package/lib/front_end/models/bindings/ResourceScriptMapping.ts +0 -491
- package/lib/front_end/models/bindings/ResourceUtils.ts +0 -103
- package/lib/front_end/models/bindings/SASSSourceMapping.ts +0 -222
- package/lib/front_end/models/bindings/StylesSourceMapping.ts +0 -316
- package/lib/front_end/models/bindings/TempFile.ts +0 -67
- package/lib/front_end/models/bindings/bindings.ts +0 -39
- package/lib/front_end/models/cpu_profile/CPUProfileDataModel.ts +0 -571
- package/lib/front_end/models/cpu_profile/ProfileTreeModel.ts +0 -103
- package/lib/front_end/models/cpu_profile/cpu_profile.ts +0 -11
- package/lib/front_end/models/formatter/FormatterWorkerPool.ts +0 -219
- package/lib/front_end/models/formatter/ScriptFormatter.ts +0 -112
- package/lib/front_end/models/formatter/formatter.ts +0 -8
- package/lib/front_end/models/source_map_scopes/NamesResolver.ts +0 -765
- package/lib/front_end/models/source_map_scopes/ScopeChainModel.ts +0 -84
- package/lib/front_end/models/source_map_scopes/source_map_scopes.ts +0 -11
- package/lib/front_end/models/stack_trace/StackTrace.ts +0 -53
- package/lib/front_end/models/stack_trace/StackTraceImpl.ts +0 -85
- package/lib/front_end/models/stack_trace/StackTraceModel.ts +0 -128
- package/lib/front_end/models/stack_trace/Trie.ts +0 -163
- package/lib/front_end/models/stack_trace/stack_trace.ts +0 -9
- package/lib/front_end/models/stack_trace/stack_trace_impl.ts +0 -13
- package/lib/front_end/models/text_utils/CodeMirrorUtils.ts +0 -37
- package/lib/front_end/models/text_utils/ContentData.ts +0 -199
- package/lib/front_end/models/text_utils/ContentProvider.ts +0 -68
- package/lib/front_end/models/text_utils/StaticContentProvider.ts +0 -49
- package/lib/front_end/models/text_utils/StreamingContentData.ts +0 -108
- package/lib/front_end/models/text_utils/Text.ts +0 -90
- package/lib/front_end/models/text_utils/TextCursor.ts +0 -44
- package/lib/front_end/models/text_utils/TextRange.ts +0 -266
- package/lib/front_end/models/text_utils/TextUtils.ts +0 -401
- package/lib/front_end/models/text_utils/WasmDisassembly.ts +0 -87
- package/lib/front_end/models/text_utils/text_utils.ts +0 -27
- package/lib/front_end/models/trace/EntityMapper.ts +0 -141
- package/lib/front_end/models/trace/EventsSerializer.ts +0 -101
- package/lib/front_end/models/trace/LanternComputationData.ts +0 -438
- package/lib/front_end/models/trace/ModelImpl.ts +0 -236
- package/lib/front_end/models/trace/Name.ts +0 -136
- package/lib/front_end/models/trace/Processor.ts +0 -652
- package/lib/front_end/models/trace/Styles.ts +0 -1138
- package/lib/front_end/models/trace/extras/FilmStrip.ts +0 -78
- package/lib/front_end/models/trace/extras/MainThreadActivity.ts +0 -86
- package/lib/front_end/models/trace/extras/ScriptDuplication.ts +0 -236
- package/lib/front_end/models/trace/extras/StackTraceForEvent.ts +0 -203
- package/lib/front_end/models/trace/extras/ThirdParties.ts +0 -164
- package/lib/front_end/models/trace/extras/TraceFilter.ts +0 -62
- package/lib/front_end/models/trace/extras/TraceTree.ts +0 -701
- package/lib/front_end/models/trace/extras/extras.ts +0 -11
- package/lib/front_end/models/trace/handlers/AnimationFramesHandler.ts +0 -128
- package/lib/front_end/models/trace/handlers/AnimationHandler.ts +0 -36
- package/lib/front_end/models/trace/handlers/AsyncJSCallsHandler.ts +0 -239
- package/lib/front_end/models/trace/handlers/AuctionWorkletsHandler.ts +0 -183
- package/lib/front_end/models/trace/handlers/DOMStatsHandler.ts +0 -31
- package/lib/front_end/models/trace/handlers/ExtensionTraceDataHandler.ts +0 -306
- package/lib/front_end/models/trace/handlers/FlowsHandler.ts +0 -175
- package/lib/front_end/models/trace/handlers/FramesHandler.ts +0 -571
- package/lib/front_end/models/trace/handlers/GPUHandler.ts +0 -50
- package/lib/front_end/models/trace/handlers/ImagePaintingHandler.ts +0 -183
- package/lib/front_end/models/trace/handlers/InitiatorsHandler.ts +0 -193
- package/lib/front_end/models/trace/handlers/InvalidationsHandler.ts +0 -168
- package/lib/front_end/models/trace/handlers/LargestImagePaintHandler.ts +0 -109
- package/lib/front_end/models/trace/handlers/LargestTextPaintHandler.ts +0 -35
- package/lib/front_end/models/trace/handlers/LayerTreeHandler.ts +0 -123
- package/lib/front_end/models/trace/handlers/LayoutShiftsHandler.ts +0 -573
- package/lib/front_end/models/trace/handlers/MemoryHandler.ts +0 -31
- package/lib/front_end/models/trace/handlers/MetaHandler.ts +0 -525
- package/lib/front_end/models/trace/handlers/ModelHandlers.ts +0 -34
- package/lib/front_end/models/trace/handlers/NetworkRequestsHandler.ts +0 -672
- package/lib/front_end/models/trace/handlers/PageFramesHandler.ts +0 -52
- package/lib/front_end/models/trace/handlers/PageLoadMetricsHandler.ts +0 -460
- package/lib/front_end/models/trace/handlers/RendererHandler.ts +0 -428
- package/lib/front_end/models/trace/handlers/SamplesHandler.ts +0 -271
- package/lib/front_end/models/trace/handlers/ScreenshotsHandler.ts +0 -122
- package/lib/front_end/models/trace/handlers/ScriptsHandler.ts +0 -336
- package/lib/front_end/models/trace/handlers/SelectorStatsHandler.ts +0 -110
- package/lib/front_end/models/trace/handlers/Threads.ts +0 -139
- package/lib/front_end/models/trace/handlers/UserInteractionsHandler.ts +0 -400
- package/lib/front_end/models/trace/handlers/UserTimingsHandler.ts +0 -233
- package/lib/front_end/models/trace/handlers/WarningsHandler.ts +0 -162
- package/lib/front_end/models/trace/handlers/WorkersHandler.ts +0 -45
- package/lib/front_end/models/trace/handlers/handlers.ts +0 -8
- package/lib/front_end/models/trace/handlers/helpers.ts +0 -196
- package/lib/front_end/models/trace/handlers/types.ts +0 -75
- package/lib/front_end/models/trace/helpers/Extensions.ts +0 -54
- package/lib/front_end/models/trace/helpers/Network.ts +0 -129
- package/lib/front_end/models/trace/helpers/SamplesIntegrator.ts +0 -544
- package/lib/front_end/models/trace/helpers/SyntheticEvents.ts +0 -87
- package/lib/front_end/models/trace/helpers/Timing.ts +0 -248
- package/lib/front_end/models/trace/helpers/Trace.ts +0 -928
- package/lib/front_end/models/trace/helpers/TreeHelpers.ts +0 -320
- package/lib/front_end/models/trace/helpers/helpers.ts +0 -11
- package/lib/front_end/models/trace/insights/CLSCulprits.ts +0 -668
- package/lib/front_end/models/trace/insights/Cache.ts +0 -269
- package/lib/front_end/models/trace/insights/Common.ts +0 -453
- package/lib/front_end/models/trace/insights/DOMSize.ts +0 -223
- package/lib/front_end/models/trace/insights/DocumentLatency.ts +0 -319
- package/lib/front_end/models/trace/insights/DuplicatedJavaScript.ts +0 -126
- package/lib/front_end/models/trace/insights/FontDisplay.ts +0 -119
- package/lib/front_end/models/trace/insights/ForcedReflow.ts +0 -220
- package/lib/front_end/models/trace/insights/INPBreakdown.ts +0 -171
- package/lib/front_end/models/trace/insights/ImageDelivery.ts +0 -348
- package/lib/front_end/models/trace/insights/LCPBreakdown.ts +0 -268
- package/lib/front_end/models/trace/insights/LCPDiscovery.ts +0 -237
- package/lib/front_end/models/trace/insights/LegacyJavaScript.ts +0 -138
- package/lib/front_end/models/trace/insights/Models.ts +0 -22
- package/lib/front_end/models/trace/insights/ModernHTTP.ts +0 -257
- package/lib/front_end/models/trace/insights/NetworkDependencyTree.ts +0 -726
- package/lib/front_end/models/trace/insights/RenderBlocking.ts +0 -257
- package/lib/front_end/models/trace/insights/SlowCSSSelector.ts +0 -175
- package/lib/front_end/models/trace/insights/Statistics.ts +0 -101
- package/lib/front_end/models/trace/insights/ThirdParties.ts +0 -130
- package/lib/front_end/models/trace/insights/Viewport.ts +0 -138
- package/lib/front_end/models/trace/insights/insights.ts +0 -10
- package/lib/front_end/models/trace/insights/types.ts +0 -157
- package/lib/front_end/models/trace/lantern/core/LanternError.ts +0 -7
- package/lib/front_end/models/trace/lantern/core/NetworkAnalyzer.ts +0 -619
- package/lib/front_end/models/trace/lantern/core/core.ts +0 -6
- package/lib/front_end/models/trace/lantern/graph/BaseNode.ts +0 -345
- package/lib/front_end/models/trace/lantern/graph/CPUNode.ts +0 -80
- package/lib/front_end/models/trace/lantern/graph/NetworkNode.ts +0 -101
- package/lib/front_end/models/trace/lantern/graph/PageDependencyGraph.ts +0 -636
- package/lib/front_end/models/trace/lantern/graph/graph.ts +0 -8
- package/lib/front_end/models/trace/lantern/lantern.ts +0 -17
- package/lib/front_end/models/trace/lantern/metrics/FirstContentfulPaint.ts +0 -187
- package/lib/front_end/models/trace/lantern/metrics/Interactive.ts +0 -88
- package/lib/front_end/models/trace/lantern/metrics/LargestContentfulPaint.ts +0 -92
- package/lib/front_end/models/trace/lantern/metrics/MaxPotentialFID.ts +0 -72
- package/lib/front_end/models/trace/lantern/metrics/Metric.ts +0 -126
- package/lib/front_end/models/trace/lantern/metrics/SpeedIndex.ts +0 -126
- package/lib/front_end/models/trace/lantern/metrics/TBTUtils.ts +0 -82
- package/lib/front_end/models/trace/lantern/metrics/TotalBlockingTime.ts +0 -112
- package/lib/front_end/models/trace/lantern/metrics/metrics.ts +0 -12
- package/lib/front_end/models/trace/lantern/simulation/ConnectionPool.ts +0 -150
- package/lib/front_end/models/trace/lantern/simulation/Constants.ts +0 -46
- package/lib/front_end/models/trace/lantern/simulation/DNSCache.ts +0 -61
- package/lib/front_end/models/trace/lantern/simulation/SimulationTimingMap.ts +0 -196
- package/lib/front_end/models/trace/lantern/simulation/Simulator.ts +0 -556
- package/lib/front_end/models/trace/lantern/simulation/TCPConnection.ts +0 -192
- package/lib/front_end/models/trace/lantern/simulation/simulation.ts +0 -10
- package/lib/front_end/models/trace/lantern/types/Lantern.ts +0 -220
- package/lib/front_end/models/trace/lantern/types/types.ts +0 -5
- package/lib/front_end/models/trace/trace.ts +0 -33
- package/lib/front_end/models/trace/types/Configuration.ts +0 -110
- package/lib/front_end/models/trace/types/Extensions.ts +0 -136
- package/lib/front_end/models/trace/types/File.ts +0 -281
- package/lib/front_end/models/trace/types/Overlays.ts +0 -138
- package/lib/front_end/models/trace/types/Timing.ts +0 -30
- package/lib/front_end/models/trace/types/TraceEvents.ts +0 -3277
- package/lib/front_end/models/trace/types/types.ts +0 -10
- package/lib/front_end/models/trace_source_maps_resolver/SourceMapsResolver.ts +0 -240
- package/lib/front_end/models/trace_source_maps_resolver/trace_source_maps_resolver.ts +0 -5
- package/lib/front_end/models/workspace/FileManager.ts +0 -97
- package/lib/front_end/models/workspace/IgnoreListManager.ts +0 -628
- package/lib/front_end/models/workspace/SearchConfig.ts +0 -149
- package/lib/front_end/models/workspace/UISourceCode.ts +0 -698
- package/lib/front_end/models/workspace/WorkspaceImpl.ts +0 -339
- package/lib/front_end/models/workspace/workspace.ts +0 -17
- package/lib/front_end/panels/timeline/TimelineUIUtils.ts +0 -1029
- package/lib/front_end/panels/timeline/extensions/ExtensionUI.ts +0 -49
- package/lib/front_end/panels/timeline/extensions/extensions.ts +0 -9
- package/lib/front_end/third_party/codemirror.next/LICENSE +0 -21
- package/lib/front_end/third_party/codemirror.next/README.chromium +0 -30
- package/lib/front_end/third_party/codemirror.next/bundle-tsconfig.json +0 -24
- package/lib/front_end/third_party/codemirror.next/bundle.ts +0 -135
- package/lib/front_end/third_party/codemirror.next/chunk/angular.js +0 -2
- package/lib/front_end/third_party/codemirror.next/chunk/angular.js.map +0 -1
- package/lib/front_end/third_party/codemirror.next/chunk/codemirror.js +0 -2
- package/lib/front_end/third_party/codemirror.next/chunk/codemirror.js.map +0 -1
- package/lib/front_end/third_party/codemirror.next/chunk/cpp.js +0 -2
- package/lib/front_end/third_party/codemirror.next/chunk/cpp.js.map +0 -1
- package/lib/front_end/third_party/codemirror.next/chunk/css.js +0 -2
- package/lib/front_end/third_party/codemirror.next/chunk/html.js +0 -4
- package/lib/front_end/third_party/codemirror.next/chunk/java.js +0 -2
- package/lib/front_end/third_party/codemirror.next/chunk/java.js.map +0 -1
- package/lib/front_end/third_party/codemirror.next/chunk/javascript.js +0 -2
- package/lib/front_end/third_party/codemirror.next/chunk/legacy.js +0 -2
- package/lib/front_end/third_party/codemirror.next/chunk/legacy.js.map +0 -1
- package/lib/front_end/third_party/codemirror.next/chunk/less.js +0 -2
- package/lib/front_end/third_party/codemirror.next/chunk/less.js.map +0 -1
- package/lib/front_end/third_party/codemirror.next/chunk/markdown.js +0 -2
- package/lib/front_end/third_party/codemirror.next/chunk/markdown.js.map +0 -1
- package/lib/front_end/third_party/codemirror.next/chunk/php.js +0 -2
- package/lib/front_end/third_party/codemirror.next/chunk/php.js.map +0 -1
- package/lib/front_end/third_party/codemirror.next/chunk/python.js +0 -2
- package/lib/front_end/third_party/codemirror.next/chunk/python.js.map +0 -1
- package/lib/front_end/third_party/codemirror.next/chunk/sass.js +0 -2
- package/lib/front_end/third_party/codemirror.next/chunk/sass.js.map +0 -1
- package/lib/front_end/third_party/codemirror.next/chunk/svelte.js +0 -2
- package/lib/front_end/third_party/codemirror.next/chunk/svelte.js.map +0 -1
- package/lib/front_end/third_party/codemirror.next/chunk/vue.js +0 -2
- package/lib/front_end/third_party/codemirror.next/chunk/vue.js.map +0 -1
- package/lib/front_end/third_party/codemirror.next/chunk/wast.js +0 -2
- package/lib/front_end/third_party/codemirror.next/chunk/wast.js.map +0 -1
- package/lib/front_end/third_party/codemirror.next/chunk/xml.js +0 -2
- package/lib/front_end/third_party/codemirror.next/chunk/xml.js.map +0 -1
- package/lib/front_end/third_party/codemirror.next/codemirror.next.d.ts +0 -8057
- package/lib/front_end/third_party/codemirror.next/codemirror.next.js +0 -2
- package/lib/front_end/third_party/codemirror.next/codemirror.next.js.map +0 -1
- package/lib/front_end/third_party/codemirror.next/package.json +0 -43
- package/lib/front_end/third_party/codemirror.next/rebuild.sh +0 -6
- package/lib/front_end/third_party/codemirror.next/rollup.config.mjs +0 -49
- package/lib/front_end/third_party/i18n/LICENSE +0 -202
- package/lib/front_end/third_party/i18n/README.chromium +0 -15
- package/lib/front_end/third_party/i18n/i18n-impl.ts +0 -61
- package/lib/front_end/third_party/i18n/i18n.ts +0 -11
- package/lib/front_end/third_party/i18n/localized-string-set.ts +0 -129
- package/lib/front_end/third_party/intl-messageformat/LICENSE +0 -33
- package/lib/front_end/third_party/intl-messageformat/README.chromium +0 -24
- package/lib/front_end/third_party/intl-messageformat/intl-messageformat-tsconfig.json +0 -16
- package/lib/front_end/third_party/intl-messageformat/intl-messageformat.ts +0 -6
- package/lib/front_end/third_party/intl-messageformat/package/LICENSE.md +0 -33
- package/lib/front_end/third_party/intl-messageformat/package/README.md +0 -3
- package/lib/front_end/third_party/intl-messageformat/package/index.d.ts +0 -6
- package/lib/front_end/third_party/intl-messageformat/package/index.d.ts.map +0 -1
- package/lib/front_end/third_party/intl-messageformat/package/index.js +0 -13
- package/lib/front_end/third_party/intl-messageformat/package/intl-messageformat.esm.d.ts +0 -5
- package/lib/front_end/third_party/intl-messageformat/package/intl-messageformat.esm.js +0 -1710
- package/lib/front_end/third_party/intl-messageformat/package/intl-messageformat.iife.js +0 -1815
- package/lib/front_end/third_party/intl-messageformat/package/lib/index.d.ts +0 -6
- package/lib/front_end/third_party/intl-messageformat/package/lib/index.d.ts.map +0 -1
- package/lib/front_end/third_party/intl-messageformat/package/lib/index.js +0 -10
- package/lib/front_end/third_party/intl-messageformat/package/lib/src/core.d.ts +0 -34
- package/lib/front_end/third_party/intl-messageformat/package/lib/src/core.d.ts.map +0 -1
- package/lib/front_end/third_party/intl-messageformat/package/lib/src/core.js +0 -229
- package/lib/front_end/third_party/intl-messageformat/package/lib/src/error.d.ts +0 -28
- package/lib/front_end/third_party/intl-messageformat/package/lib/src/error.d.ts.map +0 -1
- package/lib/front_end/third_party/intl-messageformat/package/lib/src/error.js +0 -48
- package/lib/front_end/third_party/intl-messageformat/package/lib/src/formatters.d.ts +0 -34
- package/lib/front_end/third_party/intl-messageformat/package/lib/src/formatters.d.ts.map +0 -1
- package/lib/front_end/third_party/intl-messageformat/package/lib/src/formatters.js +0 -179
- package/lib/front_end/third_party/intl-messageformat/package/package.json +0 -42
- package/lib/front_end/third_party/intl-messageformat/package/src/core.d.ts +0 -34
- package/lib/front_end/third_party/intl-messageformat/package/src/core.d.ts.map +0 -1
- package/lib/front_end/third_party/intl-messageformat/package/src/core.js +0 -230
- package/lib/front_end/third_party/intl-messageformat/package/src/error.d.ts +0 -28
- package/lib/front_end/third_party/intl-messageformat/package/src/error.d.ts.map +0 -1
- package/lib/front_end/third_party/intl-messageformat/package/src/error.js +0 -51
- package/lib/front_end/third_party/intl-messageformat/package/src/formatters.d.ts +0 -34
- package/lib/front_end/third_party/intl-messageformat/package/src/formatters.d.ts.map +0 -1
- package/lib/front_end/third_party/intl-messageformat/package/src/formatters.js +0 -182
- package/lib/front_end/third_party/intl-messageformat/package/src/icu-messageformat-parser/error.d.ts +0 -79
- package/lib/front_end/third_party/intl-messageformat/package/src/icu-messageformat-parser/index.d.ts +0 -15
- package/lib/front_end/third_party/intl-messageformat/package/src/icu-messageformat-parser/parser.d.ts +0 -153
- package/lib/front_end/third_party/intl-messageformat/package/src/icu-messageformat-parser/types.d.ts +0 -139
- package/lib/front_end/third_party/legacy-javascript/LICENSE +0 -202
- package/lib/front_end/third_party/legacy-javascript/README.chromium +0 -13
- package/lib/front_end/third_party/legacy-javascript/legacy-javascript-tsconfig.json +0 -8
- package/lib/front_end/third_party/legacy-javascript/legacy-javascript.ts +0 -3
- package/lib/front_end/third_party/legacy-javascript/lib/legacy-javascript.d.ts +0 -18
- package/lib/front_end/third_party/legacy-javascript/lib/legacy-javascript.js +0 -943
- package/lib/front_end/third_party/legacy-javascript/package.json +0 -8
- package/lib/front_end/third_party/legacy-javascript/rebuild.sh +0 -9
- package/lib/front_end/third_party/source-map-scopes-codec/LICENSE +0 -26
- package/lib/front_end/third_party/source-map-scopes-codec/README.chromium +0 -31
- package/lib/front_end/third_party/source-map-scopes-codec/package/CONTRIBUTING.md +0 -33
- package/lib/front_end/third_party/source-map-scopes-codec/package/LICENSE +0 -26
- package/lib/front_end/third_party/source-map-scopes-codec/package/README.md +0 -64
- package/lib/front_end/third_party/source-map-scopes-codec/package/_dist/src/builder/builder.d.ts +0 -62
- package/lib/front_end/third_party/source-map-scopes-codec/package/_dist/src/builder/builder.d.ts.map +0 -1
- package/lib/front_end/third_party/source-map-scopes-codec/package/_dist/src/builder/safe_builder.d.ts +0 -37
- package/lib/front_end/third_party/source-map-scopes-codec/package/_dist/src/builder/safe_builder.d.ts.map +0 -1
- package/lib/front_end/third_party/source-map-scopes-codec/package/_dist/src/decode/decode.d.ts +0 -29
- package/lib/front_end/third_party/source-map-scopes-codec/package/_dist/src/decode/decode.d.ts.map +0 -1
- package/lib/front_end/third_party/source-map-scopes-codec/package/_dist/src/encode/encode.d.ts +0 -8
- package/lib/front_end/third_party/source-map-scopes-codec/package/_dist/src/encode/encode.d.ts.map +0 -1
- package/lib/front_end/third_party/source-map-scopes-codec/package/_dist/src/mod.d.ts +0 -6
- package/lib/front_end/third_party/source-map-scopes-codec/package/_dist/src/mod.d.ts.map +0 -1
- package/lib/front_end/third_party/source-map-scopes-codec/package/deno.json +0 -21
- package/lib/front_end/third_party/source-map-scopes-codec/package/package.json +0 -14
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/builder/builder.js +0 -196
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/builder/builder.js.map +0 -1
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/builder/builder.ts +0 -262
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/builder/safe_builder.js +0 -235
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/builder/safe_builder.js.map +0 -1
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/builder/safe_builder.ts +0 -359
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/codec.js +0 -39
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/codec.js.map +0 -1
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/codec.ts +0 -53
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/decode/decode.js +0 -438
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/decode/decode.js.map +0 -1
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/decode/decode.ts +0 -539
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/encode/encode.js +0 -23
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/encode/encode.js.map +0 -1
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/encode/encode.ts +0 -35
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/encode/encoder.js +0 -257
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/encode/encoder.js.map +0 -1
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/encode/encoder.ts +0 -348
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/mod.js +0 -8
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/mod.js.map +0 -1
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/mod.ts +0 -20
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/scopes-tsconfig.json +0 -8
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/scopes.d.ts +0 -184
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/util.js +0 -9
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/util.js.map +0 -1
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/util.ts +0 -12
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/vlq.js +0 -82
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/vlq.js.map +0 -1
- package/lib/front_end/third_party/source-map-scopes-codec/package/src/vlq.ts +0 -99
- package/lib/front_end/third_party/source-map-scopes-codec/source-map-scopes-codec.ts +0 -5
- package/lib/front_end/third_party/third-party-web/LICENSE +0 -20
- package/lib/front_end/third_party/third-party-web/README.chromium +0 -13
- package/lib/front_end/third_party/third-party-web/lib/nostats-subset.d.ts +0 -2
- package/lib/front_end/third_party/third-party-web/lib/nostats-subset.js +0 -149
- package/lib/front_end/third_party/third-party-web/package/LICENSE +0 -20
- package/lib/front_end/third_party/third-party-web/package/README.md +0 -929
- package/lib/front_end/third_party/third-party-web/package/dist/entities-httparchive-nostats.json +0 -1
- package/lib/front_end/third_party/third-party-web/package/dist/entities-httparchive.json +0 -1
- package/lib/front_end/third_party/third-party-web/package/dist/entities-nostats.json +0 -1
- package/lib/front_end/third_party/third-party-web/package/dist/entities.json +0 -1
- package/lib/front_end/third_party/third-party-web/package/facades.md +0 -46
- package/lib/front_end/third_party/third-party-web/package/httparchive-nostats-subset.d.ts +0 -1
- package/lib/front_end/third_party/third-party-web/package/httparchive-nostats-subset.js +0 -1
- package/lib/front_end/third_party/third-party-web/package/httparchive-subset.d.ts +0 -1
- package/lib/front_end/third_party/third-party-web/package/httparchive-subset.js +0 -1
- package/lib/front_end/third_party/third-party-web/package/lib/__snapshots__/index.test.js.snap +0 -1006
- package/lib/front_end/third_party/third-party-web/package/lib/create-entity-finder-api.js +0 -139
- package/lib/front_end/third_party/third-party-web/package/lib/create-entity-finder-api.test.js +0 -44
- package/lib/front_end/third_party/third-party-web/package/lib/entities.test.js +0 -27
- package/lib/front_end/third_party/third-party-web/package/lib/index.d.ts +0 -34
- package/lib/front_end/third_party/third-party-web/package/lib/index.js +0 -3
- package/lib/front_end/third_party/third-party-web/package/lib/index.test.js +0 -246
- package/lib/front_end/third_party/third-party-web/package/lib/markdown/faqs.partial.md +0 -36
- package/lib/front_end/third_party/third-party-web/package/lib/markdown/goals.partial.md +0 -9
- package/lib/front_end/third_party/third-party-web/package/lib/markdown/methodology.partial.md +0 -5
- package/lib/front_end/third_party/third-party-web/package/lib/markdown/template.md +0 -151
- package/lib/front_end/third_party/third-party-web/package/lib/markdown/updates/2019-02-01.md +0 -1
- package/lib/front_end/third_party/third-party-web/package/lib/markdown/updates/2019-03-01.md +0 -1
- package/lib/front_end/third_party/third-party-web/package/lib/markdown/updates/2019-05-06.md +0 -1
- package/lib/front_end/third_party/third-party-web/package/lib/markdown/updates/2019-05-13.md +0 -14
- package/lib/front_end/third_party/third-party-web/package/lib/markdown/updates/2021-01-01.md +0 -1
- package/lib/front_end/third_party/third-party-web/package/lib/markdown/updates/2024-07-01.md +0 -3
- package/lib/front_end/third_party/third-party-web/package/lib/subsets/httparchive-nostats.d.ts +0 -1
- package/lib/front_end/third_party/third-party-web/package/lib/subsets/httparchive-nostats.js +0 -3
- package/lib/front_end/third_party/third-party-web/package/lib/subsets/httparchive.d.ts +0 -1
- package/lib/front_end/third_party/third-party-web/package/lib/subsets/httparchive.js +0 -3
- package/lib/front_end/third_party/third-party-web/package/lib/subsets/nostats.d.ts +0 -1
- package/lib/front_end/third_party/third-party-web/package/lib/subsets/nostats.js +0 -3
- package/lib/front_end/third_party/third-party-web/package/nostats-subset.d.ts +0 -1
- package/lib/front_end/third_party/third-party-web/package/nostats-subset.js +0 -1
- package/lib/front_end/third_party/third-party-web/package/package.json +0 -46
- package/lib/front_end/third_party/third-party-web/package.json +0 -8
- package/lib/front_end/third_party/third-party-web/rebuild.sh +0 -13
- package/lib/front_end/third_party/third-party-web/third-party-web-tsconfig.json +0 -8
- package/lib/front_end/third_party/third-party-web/third-party-web.ts +0 -3
- package/lib/front_end/ui/legacy/theme_support/ThemeSupport.ts +0 -222
- package/lib/front_end/ui/legacy/theme_support/theme_support.ts +0 -5
- package/patches/chrome-devtools-frontend+1.0.1533544.patch +0 -1716
|
@@ -1,199 +0,0 @@
|
|
|
1
|
-
// Copyright 2023 The Chromium Authors
|
|
2
|
-
// Use of this source code is governed by a BSD-style license that can be
|
|
3
|
-
// found in the LICENSE file.
|
|
4
|
-
|
|
5
|
-
import * as Platform from '../../core/platform/platform.js';
|
|
6
|
-
|
|
7
|
-
import { contentAsDataURL, type DeferredContent } from './ContentProvider.js';
|
|
8
|
-
import {Text} from './Text.js';
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* This class is a small wrapper around either raw binary or text data.
|
|
12
|
-
* As the binary data can actually contain textual data, we also store the
|
|
13
|
-
* MIME type and if applicable, the charset.
|
|
14
|
-
*
|
|
15
|
-
* This information should be generally kept together, as interpreting text
|
|
16
|
-
* from raw bytes requires an encoding.
|
|
17
|
-
*
|
|
18
|
-
* Note that we only rarely have to decode text ourselves in the frontend,
|
|
19
|
-
* this is mostly handled by the backend. There are cases though (e.g. SVG,
|
|
20
|
-
* or streaming response content) where we receive text data in
|
|
21
|
-
* binary (base64-encoded) form.
|
|
22
|
-
*
|
|
23
|
-
* The class only implements decoding. We currently don't have a use-case
|
|
24
|
-
* to re-encode text into base64 bytes using a specified charset.
|
|
25
|
-
*/
|
|
26
|
-
export class ContentData {
|
|
27
|
-
readonly mimeType: string;
|
|
28
|
-
readonly charset: string;
|
|
29
|
-
|
|
30
|
-
#contentAsBase64?: string;
|
|
31
|
-
#contentAsText?: string;
|
|
32
|
-
|
|
33
|
-
#contentAsTextObj?: Text;
|
|
34
|
-
|
|
35
|
-
constructor(data: string, isBase64: boolean, mimeType: string, charset?: string) {
|
|
36
|
-
this.charset = charset || 'utf-8';
|
|
37
|
-
if (isBase64) {
|
|
38
|
-
this.#contentAsBase64 = data;
|
|
39
|
-
} else {
|
|
40
|
-
this.#contentAsText = data;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
this.mimeType = mimeType;
|
|
44
|
-
if (!this.mimeType) {
|
|
45
|
-
// Tests or broken requests might pass an empty/undefined mime type. Fallback to
|
|
46
|
-
// "default" mime types.
|
|
47
|
-
this.mimeType = isBase64 ? 'application/octet-stream' : 'text/plain';
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Returns the data as base64.
|
|
53
|
-
*
|
|
54
|
-
* @throws if this `ContentData` was constructed from text content.
|
|
55
|
-
*/
|
|
56
|
-
get base64(): string {
|
|
57
|
-
if (this.#contentAsBase64 === undefined) {
|
|
58
|
-
throw new Error('Encoding text content as base64 is not supported');
|
|
59
|
-
}
|
|
60
|
-
return this.#contentAsBase64;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
/**
|
|
64
|
-
* Returns the content as text. If this `ContentData` was constructed with base64
|
|
65
|
-
* encoded bytes, it will use the provided charset to attempt to decode the bytes.
|
|
66
|
-
*
|
|
67
|
-
* @throws if `mimeType` is not a text type.
|
|
68
|
-
*/
|
|
69
|
-
get text(): string {
|
|
70
|
-
if (this.#contentAsText !== undefined) {
|
|
71
|
-
return this.#contentAsText;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
if (!this.isTextContent) {
|
|
75
|
-
throw new Error('Cannot interpret binary data as text');
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
const binaryString = window.atob(this.#contentAsBase64 as string);
|
|
79
|
-
const len = binaryString.length;
|
|
80
|
-
const bytes = new Uint8Array(len);
|
|
81
|
-
for (let i = 0; i < len; i++) {
|
|
82
|
-
bytes[i] = binaryString.charCodeAt(i);
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
this.#contentAsText = new TextDecoder(this.charset).decode(bytes);
|
|
86
|
-
return this.#contentAsText;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
/** @returns true, if this `ContentData` was constructed from text content or the mime type indicates text that can be decoded */
|
|
90
|
-
get isTextContent(): boolean {
|
|
91
|
-
return this.#createdFromText || Platform.MimeType.isTextType(this.mimeType);
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
get isEmpty(): boolean {
|
|
95
|
-
// Don't trigger unnecessary decoding. Only check if both of the strings are empty.
|
|
96
|
-
return !Boolean(this.#contentAsBase64) && !Boolean(this.#contentAsText);
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
get createdFromBase64(): boolean {
|
|
100
|
-
return this.#contentAsBase64 !== undefined;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
get #createdFromText(): boolean {
|
|
104
|
-
return this.#contentAsBase64 === undefined;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
/**
|
|
108
|
-
* Returns the text content as a `Text` object. The returned object is always the same to
|
|
109
|
-
* minimize the number of times we have to calculate the line endings array.
|
|
110
|
-
*
|
|
111
|
-
* @throws if `mimeType` is not a text type.
|
|
112
|
-
*/
|
|
113
|
-
get textObj(): Text {
|
|
114
|
-
if (this.#contentAsTextObj === undefined) {
|
|
115
|
-
this.#contentAsTextObj = new Text(this.text);
|
|
116
|
-
}
|
|
117
|
-
return this.#contentAsTextObj;
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
/**
|
|
121
|
-
* @returns True, iff the contents (base64 or text) are equal.
|
|
122
|
-
* Does not compare mime type and charset, but will decode base64 data if both
|
|
123
|
-
* mime types indicate that it's text content.
|
|
124
|
-
*/
|
|
125
|
-
contentEqualTo(other: ContentData): boolean {
|
|
126
|
-
if (this.#contentAsBase64 !== undefined && other.#contentAsBase64 !== undefined) {
|
|
127
|
-
return this.#contentAsBase64 === other.#contentAsBase64;
|
|
128
|
-
}
|
|
129
|
-
if (this.#contentAsText !== undefined && other.#contentAsText !== undefined) {
|
|
130
|
-
return this.#contentAsText === other.#contentAsText;
|
|
131
|
-
}
|
|
132
|
-
if (this.isTextContent && other.isTextContent) {
|
|
133
|
-
return this.text === other.text;
|
|
134
|
-
}
|
|
135
|
-
return false;
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
asDataUrl(): string|null {
|
|
139
|
-
// To keep with existing behavior we prefer to return the content
|
|
140
|
-
// encoded if that is how this ContentData was constructed with.
|
|
141
|
-
if (this.#contentAsBase64 !== undefined) {
|
|
142
|
-
const charset = this.isTextContent ? this.charset : null;
|
|
143
|
-
return contentAsDataURL(this.#contentAsBase64, this.mimeType ?? '', true, charset);
|
|
144
|
-
}
|
|
145
|
-
return contentAsDataURL(this.text, this.mimeType ?? '', false, 'utf-8');
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
/**
|
|
149
|
-
* @deprecated Used during migration from `DeferredContent` to `ContentData`.
|
|
150
|
-
*/
|
|
151
|
-
asDeferedContent(): DeferredContent {
|
|
152
|
-
// To prevent encoding mistakes, we'll return text content already decoded.
|
|
153
|
-
if (this.isTextContent) {
|
|
154
|
-
return {content: this.text, isEncoded: false};
|
|
155
|
-
}
|
|
156
|
-
if (this.#contentAsText !== undefined) {
|
|
157
|
-
// Unknown text mime type, this should not really happen.
|
|
158
|
-
return {content: this.#contentAsText, isEncoded: false};
|
|
159
|
-
}
|
|
160
|
-
if (this.#contentAsBase64 !== undefined) {
|
|
161
|
-
return {content: this.#contentAsBase64, isEncoded: true};
|
|
162
|
-
}
|
|
163
|
-
throw new Error('Unreachable');
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
static isError(contentDataOrError: ContentDataOrError): contentDataOrError is {error: string} {
|
|
167
|
-
return 'error' in contentDataOrError;
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
/** @returns `value` if the passed `ContentDataOrError` is an error, or the text content otherwise */
|
|
171
|
-
static textOr<T>(contentDataOrError: ContentDataOrError, value: T): string|T {
|
|
172
|
-
if (ContentData.isError(contentDataOrError)) {
|
|
173
|
-
return value;
|
|
174
|
-
}
|
|
175
|
-
return contentDataOrError.text;
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
/** @returns an empty 'text/plain' content data if the passed `ContentDataOrError` is an error, or the content data itself otherwise */
|
|
179
|
-
static contentDataOrEmpty(contentDataOrError: ContentDataOrError): ContentData {
|
|
180
|
-
if (ContentData.isError(contentDataOrError)) {
|
|
181
|
-
return EMPTY_TEXT_CONTENT_DATA;
|
|
182
|
-
}
|
|
183
|
-
return contentDataOrError;
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
/**
|
|
187
|
-
* @deprecated Used during migration from `DeferredContent` to `ContentData`.
|
|
188
|
-
*/
|
|
189
|
-
static asDeferredContent(contentDataOrError: ContentDataOrError): DeferredContent {
|
|
190
|
-
if (ContentData.isError(contentDataOrError)) {
|
|
191
|
-
return {error: contentDataOrError.error, content: null, isEncoded: false};
|
|
192
|
-
}
|
|
193
|
-
return contentDataOrError.asDeferedContent();
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
export const EMPTY_TEXT_CONTENT_DATA = new ContentData('', /* isBase64 */ false, 'text/plain');
|
|
198
|
-
|
|
199
|
-
export type ContentDataOrError = ContentData|{error: string};
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
// Copyright 2012 The Chromium Authors
|
|
2
|
-
// Use of this source code is governed by a BSD-style license that can be
|
|
3
|
-
// found in the LICENSE file.
|
|
4
|
-
|
|
5
|
-
import type * as Common from '../../core/common/common.js';
|
|
6
|
-
import type * as Platform from '../../core/platform/platform.js';
|
|
7
|
-
|
|
8
|
-
import type {ContentDataOrError} from './ContentData.js';
|
|
9
|
-
import type {StreamingContentDataOrError} from './StreamingContentData.js';
|
|
10
|
-
import type {WasmDisassembly} from './WasmDisassembly.js';
|
|
11
|
-
|
|
12
|
-
export interface ContentProvider {
|
|
13
|
-
contentURL(): Platform.DevToolsPath.UrlString;
|
|
14
|
-
contentType(): Common.ResourceType.ResourceType;
|
|
15
|
-
requestContentData(): Promise<ContentDataOrError>;
|
|
16
|
-
searchInContent(query: string, caseSensitive: boolean, isRegex: boolean): Promise<SearchMatch[]>;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export class SearchMatch {
|
|
20
|
-
constructor(
|
|
21
|
-
readonly lineNumber: number, readonly lineContent: string, readonly columnNumber: number,
|
|
22
|
-
readonly matchLength: number) {
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
static comparator(a: SearchMatch, b: SearchMatch): number {
|
|
26
|
-
return a.lineNumber - b.lineNumber || a.columnNumber - b.columnNumber;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
export const contentAsDataURL = function(
|
|
31
|
-
content: string|null, mimeType: string, contentEncoded: boolean, charset?: string|null,
|
|
32
|
-
limitSize = true): string|null {
|
|
33
|
-
const maxDataUrlSize = 1024 * 1024;
|
|
34
|
-
if (content === undefined || content === null || (limitSize && content.length > maxDataUrlSize)) {
|
|
35
|
-
return null;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
content = contentEncoded ? content : encodeURIComponent(content);
|
|
39
|
-
return 'data:' + mimeType + (charset ? ';charset=' + charset : '') + (contentEncoded ? ';base64' : '') + ',' +
|
|
40
|
-
content;
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
export type DeferredContent = {
|
|
44
|
-
content: string,
|
|
45
|
-
isEncoded: boolean,
|
|
46
|
-
}|{
|
|
47
|
-
content: '',
|
|
48
|
-
isEncoded: false,
|
|
49
|
-
wasmDisassemblyInfo: WasmDisassembly,
|
|
50
|
-
}|{
|
|
51
|
-
content: null,
|
|
52
|
-
error: string,
|
|
53
|
-
isEncoded: boolean,
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Some ContentProvider like NetworkRequests might never actually be able to return
|
|
58
|
-
* a fully completed "requestContentData" as the request keeps on going indefinitely.
|
|
59
|
-
* Such proivders can implement the "StreamingContentProvider" addition, which allows
|
|
60
|
-
* for partial/streaming content.
|
|
61
|
-
**/
|
|
62
|
-
export interface StreamingContentProvider extends ContentProvider {
|
|
63
|
-
requestStreamingContent(): Promise<StreamingContentDataOrError>;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
export const isStreamingContentProvider = function(provider: ContentProvider): provider is StreamingContentProvider {
|
|
67
|
-
return 'requestStreamingContent' in provider;
|
|
68
|
-
};
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
// Copyright 2014 The Chromium Authors
|
|
2
|
-
// Use of this source code is governed by a BSD-style license that can be
|
|
3
|
-
// found in the LICENSE file.
|
|
4
|
-
|
|
5
|
-
import type * as Common from '../../core/common/common.js';
|
|
6
|
-
import type * as Platform from '../../core/platform/platform.js';
|
|
7
|
-
|
|
8
|
-
import {ContentData, type ContentDataOrError} from './ContentData.js';
|
|
9
|
-
import type {ContentProvider, SearchMatch} from './ContentProvider.js';
|
|
10
|
-
import {performSearchInContentData} from './TextUtils.js';
|
|
11
|
-
|
|
12
|
-
export class StaticContentProvider implements ContentProvider {
|
|
13
|
-
readonly #contentURL: Platform.DevToolsPath.UrlString;
|
|
14
|
-
readonly #contentType: Common.ResourceType.ResourceType;
|
|
15
|
-
readonly #lazyContent: () => Promise<ContentDataOrError>;
|
|
16
|
-
|
|
17
|
-
constructor(
|
|
18
|
-
contentURL: Platform.DevToolsPath.UrlString, contentType: Common.ResourceType.ResourceType,
|
|
19
|
-
lazyContent: () => Promise<ContentDataOrError>) {
|
|
20
|
-
this.#contentURL = contentURL;
|
|
21
|
-
this.#contentType = contentType;
|
|
22
|
-
this.#lazyContent = lazyContent;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
static fromString(
|
|
26
|
-
contentURL: Platform.DevToolsPath.UrlString, contentType: Common.ResourceType.ResourceType,
|
|
27
|
-
content: string): StaticContentProvider {
|
|
28
|
-
const lazyContent = (): Promise<ContentData> =>
|
|
29
|
-
Promise.resolve(new ContentData(content, /* isBase64 */ false, contentType.canonicalMimeType()));
|
|
30
|
-
return new StaticContentProvider(contentURL, contentType, lazyContent);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
contentURL(): Platform.DevToolsPath.UrlString {
|
|
34
|
-
return this.#contentURL;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
contentType(): Common.ResourceType.ResourceType {
|
|
38
|
-
return this.#contentType;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
requestContentData(): Promise<ContentDataOrError> {
|
|
42
|
-
return this.#lazyContent();
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
async searchInContent(query: string, caseSensitive: boolean, isRegex: boolean): Promise<SearchMatch[]> {
|
|
46
|
-
const contentData = await this.requestContentData();
|
|
47
|
-
return performSearchInContentData(contentData, query, caseSensitive, isRegex);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
// Copyright 2024 The Chromium Authors
|
|
2
|
-
// Use of this source code is governed by a BSD-style license that can be
|
|
3
|
-
// found in the LICENSE file.
|
|
4
|
-
|
|
5
|
-
import * as Common from '../../core/common/common.js';
|
|
6
|
-
import * as Platform from '../../core/platform/platform.js';
|
|
7
|
-
|
|
8
|
-
import {ContentData, type ContentDataOrError} from './ContentData.js';
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Usage of this class is mostly intended for content that is never "complete".
|
|
12
|
-
* E.g. streaming XHR/fetch requests.
|
|
13
|
-
*
|
|
14
|
-
* Due to the streaming nature this class only supports base64-encoded binary data.
|
|
15
|
-
* Decoding to text only happens on-demand by clients. This ensures that at most we have
|
|
16
|
-
* incomplete unicode at the end and not in-between chunks.
|
|
17
|
-
*/
|
|
18
|
-
export class StreamingContentData extends Common.ObjectWrapper.ObjectWrapper<EventTypes> {
|
|
19
|
-
readonly mimeType: string;
|
|
20
|
-
readonly #charset?: string;
|
|
21
|
-
|
|
22
|
-
readonly #disallowStreaming: boolean;
|
|
23
|
-
|
|
24
|
-
#chunks: string[] = [];
|
|
25
|
-
#contentData?: ContentData;
|
|
26
|
-
|
|
27
|
-
private constructor(mimeType: string, charset?: string, initialContent?: ContentData) {
|
|
28
|
-
super();
|
|
29
|
-
this.mimeType = mimeType;
|
|
30
|
-
this.#charset = charset;
|
|
31
|
-
this.#disallowStreaming = Boolean(initialContent && !initialContent.createdFromBase64);
|
|
32
|
-
this.#contentData = initialContent;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* Creates a new StreamingContentData with the given MIME type/charset.
|
|
37
|
-
*/
|
|
38
|
-
static create(mimeType: string, charset?: string): StreamingContentData {
|
|
39
|
-
return new StreamingContentData(mimeType, charset);
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Creates a new StringContentData from an existing ContentData instance.
|
|
44
|
-
*
|
|
45
|
-
* Calling `addChunk` is on the resulting `StreamingContentData` is illegal if
|
|
46
|
-
* `content` was not created from base64 data. The reason is that JavaScript TextEncoder
|
|
47
|
-
* only supports UTF-8. We can't convert text with arbitrary encoding back to base64 for concatenation.
|
|
48
|
-
*/
|
|
49
|
-
static from(content: ContentData): StreamingContentData {
|
|
50
|
-
return new StreamingContentData(content.mimeType, content.charset, content);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
/** @returns true, if this `ContentData` was constructed from text content or the mime type indicates text that can be decoded */
|
|
54
|
-
get isTextContent(): boolean {
|
|
55
|
-
if (this.#contentData) {
|
|
56
|
-
return this.#contentData.isTextContent;
|
|
57
|
-
}
|
|
58
|
-
return Platform.MimeType.isTextType(this.mimeType);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
/** @param chunk base64 encoded data */
|
|
62
|
-
addChunk(chunk: string): void {
|
|
63
|
-
if (this.#disallowStreaming) {
|
|
64
|
-
throw new Error('Cannot add base64 data to a text-only ContentData.');
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
this.#chunks.push(chunk);
|
|
68
|
-
this.dispatchEventToListeners(Events.CHUNK_ADDED, {content: this, chunk});
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
/** @returns An immutable ContentData with all the bytes received so far */
|
|
72
|
-
content(): ContentData {
|
|
73
|
-
if (this.#contentData && this.#chunks.length === 0) {
|
|
74
|
-
return this.#contentData;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
const initialBase64 = this.#contentData?.base64 ?? '';
|
|
78
|
-
const base64Content =
|
|
79
|
-
this.#chunks.reduce((acc, chunk) => Platform.StringUtilities.concatBase64(acc, chunk), initialBase64);
|
|
80
|
-
this.#contentData = new ContentData(base64Content, /* isBase64=*/ true, this.mimeType, this.#charset);
|
|
81
|
-
this.#chunks = [];
|
|
82
|
-
return this.#contentData;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
export type StreamingContentDataOrError = StreamingContentData|{error: string};
|
|
87
|
-
|
|
88
|
-
export const isError = function(contentDataOrError: StreamingContentDataOrError): contentDataOrError is {
|
|
89
|
-
error:
|
|
90
|
-
string,
|
|
91
|
-
} {
|
|
92
|
-
return 'error' in contentDataOrError;
|
|
93
|
-
};
|
|
94
|
-
|
|
95
|
-
export const asContentDataOrError = function(contentDataOrError: StreamingContentDataOrError): ContentDataOrError {
|
|
96
|
-
if (isError(contentDataOrError)) {
|
|
97
|
-
return contentDataOrError;
|
|
98
|
-
}
|
|
99
|
-
return contentDataOrError.content();
|
|
100
|
-
};
|
|
101
|
-
|
|
102
|
-
export const enum Events {
|
|
103
|
-
CHUNK_ADDED = 'ChunkAdded',
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
export interface EventTypes {
|
|
107
|
-
[Events.CHUNK_ADDED]: {content: StreamingContentData, chunk: string};
|
|
108
|
-
}
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
// Copyright 2016 The Chromium Authors
|
|
2
|
-
// Use of this source code is governed by a BSD-style license that can be
|
|
3
|
-
// found in the LICENSE file.
|
|
4
|
-
|
|
5
|
-
import * as Platform from '../../core/platform/platform.js';
|
|
6
|
-
|
|
7
|
-
import {TextCursor} from './TextCursor.js';
|
|
8
|
-
import {SourceRange, TextRange} from './TextRange.js';
|
|
9
|
-
|
|
10
|
-
export class Text {
|
|
11
|
-
readonly #value: string;
|
|
12
|
-
#lineEndings?: number[];
|
|
13
|
-
|
|
14
|
-
constructor(value: string) {
|
|
15
|
-
this.#value = value;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
lineEndings(): number[] {
|
|
19
|
-
if (!this.#lineEndings) {
|
|
20
|
-
this.#lineEndings = Platform.StringUtilities.findLineEndingIndexes(this.#value);
|
|
21
|
-
}
|
|
22
|
-
return this.#lineEndings;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
value(): string {
|
|
26
|
-
return this.#value;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
lineCount(): number {
|
|
30
|
-
const lineEndings = this.lineEndings();
|
|
31
|
-
return lineEndings.length;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
offsetFromPosition(lineNumber: number, columnNumber: number): number {
|
|
35
|
-
return (lineNumber ? this.lineEndings()[lineNumber - 1] + 1 : 0) + columnNumber;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
positionFromOffset(offset: number): Position {
|
|
39
|
-
const lineEndings = this.lineEndings();
|
|
40
|
-
const lineNumber =
|
|
41
|
-
Platform.ArrayUtilities.lowerBound(lineEndings, offset, Platform.ArrayUtilities.DEFAULT_COMPARATOR);
|
|
42
|
-
return {lineNumber, columnNumber: offset - (lineNumber && (lineEndings[lineNumber - 1] + 1))};
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
lineAt(lineNumber: number): string {
|
|
46
|
-
const lineEndings = this.lineEndings();
|
|
47
|
-
const lineStart = lineNumber > 0 ? lineEndings[lineNumber - 1] + 1 : 0;
|
|
48
|
-
const lineEnd = lineEndings[lineNumber];
|
|
49
|
-
let lineContent = this.#value.substring(lineStart, lineEnd);
|
|
50
|
-
if (lineContent.length > 0 && lineContent.charAt(lineContent.length - 1) === '\r') {
|
|
51
|
-
lineContent = lineContent.substring(0, lineContent.length - 1);
|
|
52
|
-
}
|
|
53
|
-
return lineContent;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
toSourceRange(range: TextRange): SourceRange {
|
|
57
|
-
const start = this.offsetFromPosition(range.startLine, range.startColumn);
|
|
58
|
-
const end = this.offsetFromPosition(range.endLine, range.endColumn);
|
|
59
|
-
return new SourceRange(start, end - start);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
toTextRange(sourceRange: SourceRange): TextRange {
|
|
63
|
-
const cursor = new TextCursor(this.lineEndings());
|
|
64
|
-
const result = TextRange.createFromLocation(0, 0);
|
|
65
|
-
|
|
66
|
-
cursor.resetTo(sourceRange.offset);
|
|
67
|
-
result.startLine = cursor.lineNumber();
|
|
68
|
-
result.startColumn = cursor.columnNumber();
|
|
69
|
-
|
|
70
|
-
cursor.advance(sourceRange.offset + sourceRange.length);
|
|
71
|
-
result.endLine = cursor.lineNumber();
|
|
72
|
-
result.endColumn = cursor.columnNumber();
|
|
73
|
-
return result;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
replaceRange(range: TextRange, replacement: string): string {
|
|
77
|
-
const sourceRange = this.toSourceRange(range);
|
|
78
|
-
return this.#value.substring(0, sourceRange.offset) + replacement +
|
|
79
|
-
this.#value.substring(sourceRange.offset + sourceRange.length);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
extract(range: TextRange): string {
|
|
83
|
-
const sourceRange = this.toSourceRange(range);
|
|
84
|
-
return this.#value.substr(sourceRange.offset, sourceRange.length);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
export interface Position {
|
|
88
|
-
lineNumber: number;
|
|
89
|
-
columnNumber: number;
|
|
90
|
-
}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
// Copyright 2020 The Chromium Authors
|
|
2
|
-
// Use of this source code is governed by a BSD-style license that can be
|
|
3
|
-
// found in the LICENSE file.
|
|
4
|
-
|
|
5
|
-
import * as Platform from '../../core/platform/platform.js';
|
|
6
|
-
|
|
7
|
-
export class TextCursor {
|
|
8
|
-
readonly #lineEndings: number[];
|
|
9
|
-
|
|
10
|
-
#offset = 0;
|
|
11
|
-
#lineNumber = 0;
|
|
12
|
-
#columnNumber = 0;
|
|
13
|
-
|
|
14
|
-
constructor(lineEndings: number[]) {
|
|
15
|
-
this.#lineEndings = lineEndings;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
advance(offset: number): void {
|
|
19
|
-
this.#offset = offset;
|
|
20
|
-
while (this.#lineNumber < this.#lineEndings.length && this.#lineEndings[this.#lineNumber] < this.#offset) {
|
|
21
|
-
++this.#lineNumber;
|
|
22
|
-
}
|
|
23
|
-
this.#columnNumber = this.#lineNumber ? this.#offset - this.#lineEndings[this.#lineNumber - 1] - 1 : this.#offset;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
offset(): number {
|
|
27
|
-
return this.#offset;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
resetTo(offset: number): void {
|
|
31
|
-
this.#offset = offset;
|
|
32
|
-
this.#lineNumber =
|
|
33
|
-
Platform.ArrayUtilities.lowerBound(this.#lineEndings, offset, Platform.ArrayUtilities.DEFAULT_COMPARATOR);
|
|
34
|
-
this.#columnNumber = this.#lineNumber ? this.#offset - this.#lineEndings[this.#lineNumber - 1] - 1 : this.#offset;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
lineNumber(): number {
|
|
38
|
-
return this.#lineNumber;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
columnNumber(): number {
|
|
42
|
-
return this.#columnNumber;
|
|
43
|
-
}
|
|
44
|
-
}
|