diff --git a/packages/react-native/src/private/webapis/performance/Performance.js b/packages/react-native/src/private/webapis/performance/Performance.js index 2447879e619..8ac0054fd0a 100644 --- a/packages/react-native/src/private/webapis/performance/Performance.js +++ b/packages/react-native/src/private/webapis/performance/Performance.js @@ -116,13 +116,15 @@ export default class Performance { markOptions?.startTime, ); } else if (NativePerformance?.mark) { - NativePerformance.mark(markName, markOptions?.startTime); + computedStartTime = markOptions?.startTime ?? performance.now(); + NativePerformance?.mark?.(markName, computedStartTime); } else { warnNoNativePerformance(); + computedStartTime = performance.now(); } return new PerformanceMark(markName, { - startTime: computedStartTime ?? performance.now(), + startTime: computedStartTime, detail: markOptions?.detail, }); } diff --git a/packages/react-native/src/private/webapis/performance/specs/NativePerformance.js b/packages/react-native/src/private/webapis/performance/specs/NativePerformance.js index 85fa3ccd01b..aa10bbd706c 100644 --- a/packages/react-native/src/private/webapis/performance/specs/NativePerformance.js +++ b/packages/react-native/src/private/webapis/performance/specs/NativePerformance.js @@ -46,7 +46,7 @@ export type PerformanceObserverInit = { export interface Spec extends TurboModule { +now?: () => number; // TODO: remove when `markWithResult` is fully rolled out. - +mark?: (name: string, startTime?: number) => void; + +mark?: (name: string, startTime: number) => void; // TODO: remove when `measureWithResult` is fully rolled out. +measure?: ( name: string,