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,114 +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 {ObjectWrapper} from './Object.js';
|
|
6
|
-
import {reveal} from './Revealer.js';
|
|
7
|
-
|
|
8
|
-
let consoleInstance: Console|undefined;
|
|
9
|
-
|
|
10
|
-
export class Console extends ObjectWrapper<EventTypes> {
|
|
11
|
-
readonly #messages: Message[];
|
|
12
|
-
/**
|
|
13
|
-
* Instantiable via the instance() factory below.
|
|
14
|
-
*/
|
|
15
|
-
constructor() {
|
|
16
|
-
super();
|
|
17
|
-
this.#messages = [];
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
static instance(opts?: {forceNew: boolean}): Console {
|
|
21
|
-
if (!consoleInstance || opts?.forceNew) {
|
|
22
|
-
consoleInstance = new Console();
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
return consoleInstance;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
static removeInstance(): void {
|
|
29
|
-
consoleInstance = undefined;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Add a message to the Console panel.
|
|
34
|
-
*
|
|
35
|
-
* @param text the message text.
|
|
36
|
-
* @param level the message level.
|
|
37
|
-
* @param show whether to show the Console panel (if it's not already shown).
|
|
38
|
-
* @param source the message source.
|
|
39
|
-
*/
|
|
40
|
-
addMessage(text: string, level = MessageLevel.INFO, show = false, source?: FrontendMessageSource): void {
|
|
41
|
-
const message = new Message(text, level, Date.now(), show, source);
|
|
42
|
-
this.#messages.push(message);
|
|
43
|
-
this.dispatchEventToListeners(Events.MESSAGE_ADDED, message);
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
log(text: string): void {
|
|
47
|
-
this.addMessage(text, MessageLevel.INFO);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
warn(text: string, source?: FrontendMessageSource): void {
|
|
51
|
-
this.addMessage(text, MessageLevel.WARNING, undefined, source);
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
* Adds an error message to the Console panel.
|
|
56
|
-
*
|
|
57
|
-
* @param text the message text.
|
|
58
|
-
* @param show whether to show the Console panel (if it's not already shown).
|
|
59
|
-
*/
|
|
60
|
-
error(text: string, show = true): void {
|
|
61
|
-
this.addMessage(text, MessageLevel.ERROR, show);
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
messages(): Message[] {
|
|
65
|
-
return this.#messages;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
show(): void {
|
|
69
|
-
void this.showPromise();
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
showPromise(): Promise<void> {
|
|
73
|
-
return reveal(this);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
export const enum Events {
|
|
78
|
-
MESSAGE_ADDED = 'messageAdded',
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
export interface EventTypes {
|
|
82
|
-
[Events.MESSAGE_ADDED]: Message;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
export const enum MessageLevel {
|
|
86
|
-
INFO = 'info',
|
|
87
|
-
WARNING = 'warning',
|
|
88
|
-
ERROR = 'error',
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
export enum FrontendMessageSource {
|
|
92
|
-
CSS = 'css',
|
|
93
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention -- Used by web_tests.
|
|
94
|
-
ConsoleAPI = 'console-api',
|
|
95
|
-
ISSUE_PANEL = 'issue-panel',
|
|
96
|
-
SELF_XSS = 'self-xss',
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
export class Message {
|
|
100
|
-
text: string;
|
|
101
|
-
level: MessageLevel;
|
|
102
|
-
timestamp: number;
|
|
103
|
-
show: boolean;
|
|
104
|
-
source?: FrontendMessageSource;
|
|
105
|
-
constructor(text: string, level: MessageLevel, timestamp: number, show: boolean, source?: FrontendMessageSource) {
|
|
106
|
-
this.text = text;
|
|
107
|
-
this.level = level;
|
|
108
|
-
this.timestamp = (typeof timestamp === 'number') ? timestamp : Date.now();
|
|
109
|
-
this.show = show;
|
|
110
|
-
if (source) {
|
|
111
|
-
this.source = source;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
}
|
|
@@ -1,15 +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
|
-
/**
|
|
6
|
-
* Debounce utility function, ensures that the function passed in is only called once the function stops being called and the delay has expired.
|
|
7
|
-
*/
|
|
8
|
-
export const debounce = function(func: (...args: any[]) => void, delay: number): (...args: any[]) => void {
|
|
9
|
-
let timer = 0;
|
|
10
|
-
const debounced = (...args: any[]): void => {
|
|
11
|
-
clearTimeout(timer);
|
|
12
|
-
timer = window.setTimeout(() => func(...args), delay);
|
|
13
|
-
};
|
|
14
|
-
return debounced;
|
|
15
|
-
};
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
// Copyright 2021 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 Platform from '../platform/platform.js';
|
|
6
|
-
|
|
7
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
8
|
-
export interface EventDescriptor<Events = any, T extends keyof Events = any> {
|
|
9
|
-
eventTarget: EventTarget<Events>;
|
|
10
|
-
eventType: T;
|
|
11
|
-
thisObject?: Object;
|
|
12
|
-
listener: EventListener<Events, T>;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export function removeEventListeners(eventList: EventDescriptor[]): void {
|
|
16
|
-
for (const eventInfo of eventList) {
|
|
17
|
-
eventInfo.eventTarget.removeEventListener(eventInfo.eventType, eventInfo.listener, eventInfo.thisObject);
|
|
18
|
-
}
|
|
19
|
-
// Do not hold references on unused event descriptors.
|
|
20
|
-
eventList.splice(0);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
// This type can be used as the type parameter for `EventTarget`/`ObjectWrapper`
|
|
24
|
-
// when the set of events is not known at compile time.
|
|
25
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
26
|
-
export type GenericEvents = Record<string, any>;
|
|
27
|
-
|
|
28
|
-
export type EventPayloadToRestParameters<Events, T extends keyof Events> = Events[T] extends void ? [] : [Events[T]];
|
|
29
|
-
export type EventListener<Events, T extends keyof Events> = (arg0: EventTargetEvent<Events[T], Events>) => void;
|
|
30
|
-
|
|
31
|
-
export interface EventTarget<Events> {
|
|
32
|
-
addEventListener<T extends keyof Events>(eventType: T, listener: EventListener<Events, T>, thisObject?: Object):
|
|
33
|
-
EventDescriptor<Events, T>;
|
|
34
|
-
once<T extends keyof Events>(eventType: T): Promise<Events[T]>;
|
|
35
|
-
removeEventListener<T extends keyof Events>(eventType: T, listener: EventListener<Events, T>, thisObject?: Object):
|
|
36
|
-
void;
|
|
37
|
-
hasEventListeners(eventType: keyof Events): boolean;
|
|
38
|
-
dispatchEventToListeners<T extends keyof Events>(
|
|
39
|
-
eventType: Platform.TypeScriptUtilities.NoUnion<T>,
|
|
40
|
-
...[eventData]: EventPayloadToRestParameters<Events, T>): void;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
export function fireEvent(name: string, detail: unknown = {}, target: HTMLElement|Window = window): void {
|
|
44
|
-
const evt = new CustomEvent(name, {bubbles: true, cancelable: true, detail});
|
|
45
|
-
target.dispatchEvent(evt);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
49
|
-
export interface EventTargetEvent<T, Events = any> {
|
|
50
|
-
data: T;
|
|
51
|
-
source?: EventTarget<Events>;
|
|
52
|
-
}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
// Copyright 2025 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
|
-
/**
|
|
6
|
-
* Quickly determine if gzipped, by seeing if the first 3 bytes of the file header match the gzip signature
|
|
7
|
-
*/
|
|
8
|
-
export function isGzip(ab: ArrayBuffer): boolean {
|
|
9
|
-
const buf = new Uint8Array(ab);
|
|
10
|
-
if (!buf || buf.length < 3) {
|
|
11
|
-
return false;
|
|
12
|
-
}
|
|
13
|
-
// https://www.rfc-editor.org/rfc/rfc1952#page-6
|
|
14
|
-
return buf[0] === 0x1F && buf[1] === 0x8B && buf[2] === 0x08;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
/** Decode a gzipped _or_ plain text ArrayBuffer to a decoded string */
|
|
18
|
-
export async function arrayBufferToString(ab: ArrayBuffer): Promise<string> {
|
|
19
|
-
if (isGzip(ab)) {
|
|
20
|
-
return await decompress(ab);
|
|
21
|
-
}
|
|
22
|
-
const str = new TextDecoder('utf-8').decode(ab);
|
|
23
|
-
return str;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export async function fileToString(file: File): Promise<string> {
|
|
27
|
-
let stream = file.stream();
|
|
28
|
-
if (file.type.endsWith('gzip')) {
|
|
29
|
-
stream = decompressStream(stream);
|
|
30
|
-
}
|
|
31
|
-
const arrayBuffer = await new Response(stream).arrayBuffer();
|
|
32
|
-
const str = new TextDecoder('utf-8').decode(arrayBuffer);
|
|
33
|
-
return str;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Decompress a gzipped ArrayBuffer to a string.
|
|
38
|
-
* Consider using `arrayBufferToString` instead, which can handle both gzipped and plain text buffers.
|
|
39
|
-
*/
|
|
40
|
-
export async function decompress(gzippedBuffer: ArrayBuffer): Promise<string> {
|
|
41
|
-
const buffer = await gzipCodec(gzippedBuffer, new DecompressionStream('gzip'));
|
|
42
|
-
const str = new TextDecoder('utf-8').decode(buffer);
|
|
43
|
-
return str;
|
|
44
|
-
}
|
|
45
|
-
export async function compress(str: string): Promise<ArrayBuffer> {
|
|
46
|
-
const encoded = new TextEncoder().encode(str);
|
|
47
|
-
const buffer = await gzipCodec(encoded, new CompressionStream('gzip'));
|
|
48
|
-
return buffer;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
/** Private coder/decoder **/
|
|
52
|
-
async function gzipCodec(
|
|
53
|
-
buffer: Uint8Array<ArrayBufferLike>|ArrayBuffer,
|
|
54
|
-
codecStream: CompressionStream|DecompressionStream): Promise<ArrayBuffer> {
|
|
55
|
-
const readable = new ReadableStream({
|
|
56
|
-
start(controller) {
|
|
57
|
-
controller.enqueue(buffer);
|
|
58
|
-
controller.close();
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
|
-
const codecReadable = readable.pipeThrough(codecStream);
|
|
62
|
-
// A response is a convenient way to get an ArrayBuffer from a ReadableStream.
|
|
63
|
-
return await new Response(codecReadable).arrayBuffer();
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
export function decompressStream(stream: ReadableStream): ReadableStream {
|
|
67
|
-
// https://github.com/wicg/compression/blob/main/explainer.md#deflate-compress-an-arraybuffer
|
|
68
|
-
const ds = new DecompressionStream('gzip');
|
|
69
|
-
return stream.pipeThrough(ds);
|
|
70
|
-
}
|
|
71
|
-
export function compressStream(stream: ReadableStream): ReadableStream {
|
|
72
|
-
const cs = new CompressionStream('gzip');
|
|
73
|
-
return stream.pipeThrough(cs);
|
|
74
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
// Copyright 2019 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
|
-
export interface DOMPinnedWebIDLProp {
|
|
6
|
-
global?: boolean;
|
|
7
|
-
specs?: number;
|
|
8
|
-
rules?: DOMPinnedWebIDLRule[];
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export interface DOMPinnedWebIDLType {
|
|
12
|
-
inheritance?: string;
|
|
13
|
-
includes?: string[];
|
|
14
|
-
props?: Record<string, DOMPinnedWebIDLProp>;
|
|
15
|
-
rules?: DOMPinnedWebIDLRule[];
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export interface DOMPinnedWebIDLRule {
|
|
19
|
-
when: string;
|
|
20
|
-
is: string;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
export interface JavaScriptMetaData {
|
|
24
|
-
signaturesForNativeFunction(name: string): string[][]|null;
|
|
25
|
-
|
|
26
|
-
signaturesForInstanceMethod(name: string, receiverClassName: string): string[][]|null;
|
|
27
|
-
|
|
28
|
-
signaturesForStaticMethod(name: string, receiverConstructorName: string): string[][]|null;
|
|
29
|
-
}
|
|
@@ -1,31 +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
|
-
const UNINITIALIZED = Symbol('uninitialized');
|
|
6
|
-
const ERROR_STATE = Symbol('error');
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Very basic memoizer. Will only invoke its callback the first time, returning the cached value all subsequent calls.
|
|
10
|
-
*/
|
|
11
|
-
export function lazy<T>(producer: () => T): () => symbol | T {
|
|
12
|
-
let value: T|typeof ERROR_STATE|typeof UNINITIALIZED = UNINITIALIZED;
|
|
13
|
-
let error: Error = new Error('Initial');
|
|
14
|
-
|
|
15
|
-
return (): symbol|T => {
|
|
16
|
-
if (value === ERROR_STATE) {
|
|
17
|
-
throw error;
|
|
18
|
-
} else if (value !== UNINITIALIZED) {
|
|
19
|
-
return value;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
try {
|
|
23
|
-
value = producer();
|
|
24
|
-
return value;
|
|
25
|
-
} catch (err) {
|
|
26
|
-
error = err instanceof Error ? err : new Error(err);
|
|
27
|
-
value = ERROR_STATE;
|
|
28
|
-
throw error;
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
// Copyright 2019 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 Platform from '../platform/platform.js';
|
|
6
|
-
|
|
7
|
-
export abstract class Linkifier {
|
|
8
|
-
abstract linkify(object: Object, options?: Options): Node;
|
|
9
|
-
|
|
10
|
-
static async linkify(object: Object|null, options?: Options): Promise<Node> {
|
|
11
|
-
if (!object) {
|
|
12
|
-
throw new Error('Can\'t linkify ' + object);
|
|
13
|
-
}
|
|
14
|
-
const linkifierRegistration = getApplicableRegisteredlinkifiers(object)[0];
|
|
15
|
-
if (!linkifierRegistration) {
|
|
16
|
-
throw new Error('No linkifiers registered for object ' + object);
|
|
17
|
-
}
|
|
18
|
-
const linkifier = await linkifierRegistration.loadLinkifier();
|
|
19
|
-
return linkifier.linkify(object, options);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
export interface Options {
|
|
23
|
-
tooltip?: string;
|
|
24
|
-
preventKeyboardFocus?: boolean;
|
|
25
|
-
textContent?: string;
|
|
26
|
-
// Dynamic links include hyperlinks and anchorlinks -- links that navigate the content.
|
|
27
|
-
isDynamicLink?: boolean;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
const registeredLinkifiers: LinkifierRegistration[] = [];
|
|
31
|
-
|
|
32
|
-
export function registerLinkifier(registration: LinkifierRegistration): void {
|
|
33
|
-
registeredLinkifiers.push(registration);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
export function getApplicableRegisteredlinkifiers(object: Object): LinkifierRegistration[] {
|
|
37
|
-
return registeredLinkifiers.filter(isLinkifierApplicableToContextTypes);
|
|
38
|
-
|
|
39
|
-
function isLinkifierApplicableToContextTypes(linkifierRegistration: LinkifierRegistration): boolean {
|
|
40
|
-
if (!linkifierRegistration.contextTypes) {
|
|
41
|
-
return true;
|
|
42
|
-
}
|
|
43
|
-
for (const contextType of linkifierRegistration.contextTypes()) {
|
|
44
|
-
if (object instanceof contextType) {
|
|
45
|
-
return true;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
return false;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
export interface LinkifierRegistration {
|
|
53
|
-
loadLinkifier: () => Promise<Linkifier>;
|
|
54
|
-
contextTypes?: () => Array<Platform.Constructor.Constructor<unknown>>;
|
|
55
|
-
}
|
|
@@ -1,26 +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
|
-
/**
|
|
6
|
-
* Polyfill of https://github.com/tc39/proposal-upsert with a subclass.
|
|
7
|
-
*
|
|
8
|
-
* TODO: Once the proposal is merged, just replace `MapWithDefault` with `Map` and remove it.
|
|
9
|
-
**/
|
|
10
|
-
export class MapWithDefault<K, V> extends Map<K, V> {
|
|
11
|
-
getOrInsert(key: K, defaultValue: V): V {
|
|
12
|
-
if (!this.has(key)) {
|
|
13
|
-
this.set(key, defaultValue);
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
return this.get(key) as V;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
getOrInsertComputed(key: K, callbackFunction: (key: K) => V): V {
|
|
20
|
-
if (!this.has(key)) {
|
|
21
|
-
this.set(key, callbackFunction(key));
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
return this.get(key) as V;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
// Copyright 2022 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
|
-
type ReleaseFunction = () => void;
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Use Mutex class to coordinate local concurrent operations.
|
|
9
|
-
* Once `acquire` promise resolves, you hold the lock and must
|
|
10
|
-
* call `release` function returned by `acquire` to release the
|
|
11
|
-
* lock. Failing to `release` the lock may lead to deadlocks.
|
|
12
|
-
*/
|
|
13
|
-
export class Mutex {
|
|
14
|
-
#locked = false;
|
|
15
|
-
#acquirers: Array<() => void> = [];
|
|
16
|
-
|
|
17
|
-
// This is FIFO.
|
|
18
|
-
acquire(): Promise<ReleaseFunction> {
|
|
19
|
-
const state = {resolved: false};
|
|
20
|
-
if (this.#locked) {
|
|
21
|
-
return new Promise(resolve => {
|
|
22
|
-
this.#acquirers.push(() => resolve(this.#release.bind(this, state)));
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
this.#locked = true;
|
|
26
|
-
return Promise.resolve(this.#release.bind(this, state));
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
#release(state: {resolved: boolean}): void {
|
|
30
|
-
if (state.resolved) {
|
|
31
|
-
throw new Error('Cannot release more than once.');
|
|
32
|
-
}
|
|
33
|
-
state.resolved = true;
|
|
34
|
-
|
|
35
|
-
const resolve = this.#acquirers.shift();
|
|
36
|
-
if (!resolve) {
|
|
37
|
-
this.#locked = false;
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
resolve();
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
async run<T>(action: () => Promise<T>): Promise<T> {
|
|
44
|
-
const release = await this.acquire();
|
|
45
|
-
try {
|
|
46
|
-
// Note we need to await here because we want the await to release AFTER
|
|
47
|
-
// that await happens. Returning action() will trigger the release
|
|
48
|
-
// immediately which is counter to what we want.
|
|
49
|
-
const result = await action();
|
|
50
|
-
return result;
|
|
51
|
-
} finally {
|
|
52
|
-
release();
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
}
|
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
// Copyright 2021 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
|
-
/*
|
|
6
|
-
* Copyright (C) 2008 Apple Inc. All Rights Reserved.
|
|
7
|
-
*
|
|
8
|
-
* Redistribution and use in source and binary forms, with or without
|
|
9
|
-
* modification, are permitted provided that the following conditions
|
|
10
|
-
* are met:
|
|
11
|
-
* 1. Redistributions of source code must retain the above copyright
|
|
12
|
-
* notice, this list of conditions and the following disclaimer.
|
|
13
|
-
* 2. Redistributions in binary form must reproduce the above copyright
|
|
14
|
-
* notice, this list of conditions and the following disclaimer in the
|
|
15
|
-
* documentation and/or other materials provided with the distribution.
|
|
16
|
-
*
|
|
17
|
-
* THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
|
|
18
|
-
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
19
|
-
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
20
|
-
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
|
|
21
|
-
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
|
22
|
-
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
23
|
-
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
|
24
|
-
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
|
|
25
|
-
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
26
|
-
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
27
|
-
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
28
|
-
*/
|
|
29
|
-
|
|
30
|
-
import type * as Platform from '../platform/platform.js';
|
|
31
|
-
|
|
32
|
-
import type {
|
|
33
|
-
EventDescriptor, EventListener, EventPayloadToRestParameters, EventTarget, EventTargetEvent} from './EventTarget.js';
|
|
34
|
-
|
|
35
|
-
export interface ListenerCallbackTuple<Events, T extends keyof Events> {
|
|
36
|
-
thisObject?: Object;
|
|
37
|
-
listener: EventListener<Events, T>;
|
|
38
|
-
disposed?: boolean;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
export class ObjectWrapper<Events> implements EventTarget<Events> {
|
|
42
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
43
|
-
listeners?: Map<keyof Events, Set<ListenerCallbackTuple<Events, any>>>;
|
|
44
|
-
|
|
45
|
-
addEventListener<T extends keyof Events>(eventType: T, listener: EventListener<Events, T>, thisObject?: Object):
|
|
46
|
-
EventDescriptor<Events, T> {
|
|
47
|
-
if (!this.listeners) {
|
|
48
|
-
this.listeners = new Map();
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
let listenersForEventType = this.listeners.get(eventType);
|
|
52
|
-
if (!listenersForEventType) {
|
|
53
|
-
listenersForEventType = new Set();
|
|
54
|
-
this.listeners.set(eventType, listenersForEventType);
|
|
55
|
-
}
|
|
56
|
-
listenersForEventType.add({thisObject, listener});
|
|
57
|
-
return {eventTarget: this, eventType, thisObject, listener};
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
once<T extends keyof Events>(eventType: T): Promise<Events[T]> {
|
|
61
|
-
return new Promise(resolve => {
|
|
62
|
-
const descriptor = this.addEventListener(eventType, event => {
|
|
63
|
-
this.removeEventListener(eventType, descriptor.listener);
|
|
64
|
-
resolve(event.data);
|
|
65
|
-
});
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
removeEventListener<T extends keyof Events>(eventType: T, listener: EventListener<Events, T>, thisObject?: Object):
|
|
70
|
-
void {
|
|
71
|
-
const listeners = this.listeners?.get(eventType);
|
|
72
|
-
if (!listeners) {
|
|
73
|
-
return;
|
|
74
|
-
}
|
|
75
|
-
for (const listenerTuple of listeners) {
|
|
76
|
-
if (listenerTuple.listener === listener && listenerTuple.thisObject === thisObject) {
|
|
77
|
-
listenerTuple.disposed = true;
|
|
78
|
-
listeners.delete(listenerTuple);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
if (!listeners.size) {
|
|
83
|
-
this.listeners?.delete(eventType);
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
hasEventListeners(eventType: keyof Events): boolean {
|
|
88
|
-
return Boolean(this.listeners?.has(eventType));
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
dispatchEventToListeners<T extends keyof Events>(
|
|
92
|
-
eventType: Platform.TypeScriptUtilities.NoUnion<T>,
|
|
93
|
-
...[eventData]: EventPayloadToRestParameters<Events, T>): void {
|
|
94
|
-
const listeners = this.listeners?.get(eventType);
|
|
95
|
-
if (!listeners) {
|
|
96
|
-
return;
|
|
97
|
-
}
|
|
98
|
-
// `eventData` is typed as `Events[T] | undefined`:
|
|
99
|
-
// - `undefined` when `Events[T]` is void.
|
|
100
|
-
// - `Events[T]` otherwise.
|
|
101
|
-
// We cast it to `Events[T]` which is the correct type in all instances, as
|
|
102
|
-
// `void` will be cast and used as `undefined`.
|
|
103
|
-
const event = {data: eventData as Events[T], source: this};
|
|
104
|
-
// Work on a snapshot of the current listeners, callbacks might remove/add
|
|
105
|
-
// new listeners.
|
|
106
|
-
for (const listener of [...listeners]) {
|
|
107
|
-
if (!listener.disposed) {
|
|
108
|
-
listener.listener.call(listener.thisObject, event);
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
|
|
115
|
-
export function eventMixin<Events, Base extends Platform.Constructor.Constructor<object>>(base: Base) {
|
|
116
|
-
console.assert(base !== HTMLElement);
|
|
117
|
-
return class EventHandling extends base implements EventTarget<Events> {
|
|
118
|
-
#events = new ObjectWrapper<Events>();
|
|
119
|
-
|
|
120
|
-
addEventListener<T extends keyof Events>(
|
|
121
|
-
eventType: T, listener: (arg0: EventTargetEvent<Events[T]>) => void,
|
|
122
|
-
thisObject?: Object): EventDescriptor<Events, T> {
|
|
123
|
-
return this.#events.addEventListener(eventType, listener, thisObject);
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
once<T extends keyof Events>(eventType: T): Promise<Events[T]> {
|
|
127
|
-
return this.#events.once(eventType);
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
removeEventListener<T extends keyof Events>(
|
|
131
|
-
eventType: T, listener: (arg0: EventTargetEvent<Events[T]>) => void, thisObject?: Object): void {
|
|
132
|
-
this.#events.removeEventListener(eventType, listener, thisObject);
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
hasEventListeners(eventType: keyof Events): boolean {
|
|
136
|
-
return this.#events.hasEventListeners(eventType);
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
dispatchEventToListeners<T extends keyof Events>(
|
|
140
|
-
eventType: Platform.TypeScriptUtilities.NoUnion<T>,
|
|
141
|
-
...eventData: EventPayloadToRestParameters<Events, T>): void {
|
|
142
|
-
this.#events.dispatchEventToListeners(eventType, ...eventData);
|
|
143
|
-
}
|
|
144
|
-
};
|
|
145
|
-
}
|