Skip to content

Commit 4258904

Browse files
committed
track clicks on script links
1 parent 273f026 commit 4258904

2 files changed

Lines changed: 18 additions & 1 deletion

File tree

front_end/core/host/RNPerfMetrics.ts

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -298,6 +298,15 @@ class RNPerfMetrics {
298298
});
299299
}
300300

301+
stackTraceFrameClicked(isLinkified: boolean): void {
302+
this.sendEvent({
303+
eventName: 'StackTraceFrameClicked',
304+
params: {
305+
isLinkified
306+
}
307+
});
308+
}
309+
301310
panelShown(_panelName: string, _isLaunching?: boolean): void {
302311
// no-op
303312
// We only care about the "main" and "drawer" panels for now via panelShownInLocation(…)
@@ -489,12 +498,19 @@ export type StackTraceFrameUrlResolutionFailed = Readonly<{
489498
}>,
490499
}>;
491500

501+
export type StackTraceFrameClicked = Readonly<{
502+
eventName: 'StackTraceFrameClicked',
503+
params: Readonly<{
504+
isLinkified: boolean,
505+
}>,
506+
}>;
507+
492508
export type ReactNativeChromeDevToolsEvent =
493509
EntrypointLoadingStartedEvent|EntrypointLoadingFinishedEvent|DebuggerReadyEvent|BrowserVisibilityChangeEvent|
494510
BrowserErrorEvent|RemoteDebuggingTerminatedEvent|DeveloperResourceLoadingStartedEvent|
495511
DeveloperResourceLoadingFinishedEvent|FuseboxSetClientMetadataStartedEvent|FuseboxSetClientMetadataFinishedEvent|
496512
MemoryPanelActionStartedEvent|MemoryPanelActionFinishedEvent|PanelShownEvent|PanelClosedEvent|
497513
StackTraceSymbolicationSucceeded|StackTraceSymbolicationFailed|StackTraceFrameUrlResolutionSucceeded|
498-
StackTraceFrameUrlResolutionFailed;
514+
StackTraceFrameUrlResolutionFailed|StackTraceFrameClicked;
499515

500516
export type DecoratedReactNativeChromeDevToolsEvent = CommonEventFields&ReactNativeChromeDevToolsEvent;

front_end/ui/legacy/components/utils/Linkifier.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -665,6 +665,7 @@ export class Linkifier extends Common.ObjectWrapper.ObjectWrapper<EventTypes> im
665665
infoByAnchor.set(link, linkInfo);
666666
if (!preventClick) {
667667
link.addEventListener('click', event => {
668+
Host.rnPerfMetrics.stackTraceFrameClicked(linkInfo.liveLocation !== null);
668669
if (Linkifier.handleClick(event)) {
669670
event.consume(true);
670671
}

0 commit comments

Comments
 (0)