diff --git a/front_end/core/host/RNPerfMetrics.ts b/front_end/core/host/RNPerfMetrics.ts index b8b6b8affa1..0e0bc44cd73 100644 --- a/front_end/core/host/RNPerfMetrics.ts +++ b/front_end/core/host/RNPerfMetrics.ts @@ -302,7 +302,16 @@ class RNPerfMetrics { this.sendEvent({ eventName: 'ManualBreakpointSetSucceeded', params: { - bpSettingDuration + bpSettingDuration, + } + }); + } + + stackTraceFrameClicked(isLinkified: boolean): void { + this.sendEvent({ + eventName: 'StackTraceFrameClicked', + params: { + isLinkified, } }); } @@ -498,6 +507,13 @@ export type StackTraceFrameUrlResolutionFailed = Readonly<{ }>, }>; +export type StackTraceFrameClicked = Readonly<{ + eventName: 'StackTraceFrameClicked', + params: Readonly<{ + isLinkified: boolean, + }>, +}>; + export type ManualBreakpointSetSucceeded = Readonly<{ eventName: 'ManualBreakpointSetSucceeded', params: Readonly<{ @@ -511,6 +527,6 @@ export type ReactNativeChromeDevToolsEvent = DeveloperResourceLoadingFinishedEvent|FuseboxSetClientMetadataStartedEvent|FuseboxSetClientMetadataFinishedEvent| MemoryPanelActionStartedEvent|MemoryPanelActionFinishedEvent|PanelShownEvent|PanelClosedEvent| StackTraceSymbolicationSucceeded|StackTraceSymbolicationFailed|StackTraceFrameUrlResolutionSucceeded| - StackTraceFrameUrlResolutionFailed|ManualBreakpointSetSucceeded; + StackTraceFrameUrlResolutionFailed|ManualBreakpointSetSucceeded|StackTraceFrameClicked; export type DecoratedReactNativeChromeDevToolsEvent = CommonEventFields&ReactNativeChromeDevToolsEvent; diff --git a/front_end/ui/legacy/components/utils/Linkifier.ts b/front_end/ui/legacy/components/utils/Linkifier.ts index 53a2567e480..660aa2f4650 100644 --- a/front_end/ui/legacy/components/utils/Linkifier.ts +++ b/front_end/ui/legacy/components/utils/Linkifier.ts @@ -665,6 +665,7 @@ export class Linkifier extends Common.ObjectWrapper.ObjectWrapper im infoByAnchor.set(link, linkInfo); if (!preventClick) { link.addEventListener('click', event => { + Host.rnPerfMetrics.stackTraceFrameClicked(linkInfo.liveLocation !== null); if (Linkifier.handleClick(event)) { event.consume(true); }