@@ -1838,22 +1838,32 @@ export class TimelineUIUtils {
18381838 const { startTime} = Trace . Helpers . Timing . eventTimingsMilliSeconds ( event ) ;
18391839 let initiatorStackLabel = i18nString ( UIStrings . initiatorStackTrace ) ;
18401840 let stackLabel = i18nString ( UIStrings . stackTrace ) ;
1841- const stackTraceForEvent = Trace . Extras . StackTraceForEvent . get ( event , parsedTrace ) ;
1841+
18421842 // [RN] Used to scope down available features for React Native targets
18431843 // See https://docs.google.com/document/d/1_mtLIHEd9bFQN4xWBSVDR357GaRo56khB1aOxgWDeu4/edit?tab=t.0 for context.
18441844 const isReactNative = Root . Runtime . experiments . isEnabled (
18451845 Root . Runtime . ExperimentName . REACT_NATIVE_SPECIFIC_UI ,
18461846 ) ;
1847- if ( stackTraceForEvent && ! isReactNative ) {
1848- contentHelper . addSection ( i18nString ( UIStrings . stackTrace ) ) ;
1849- contentHelper . createChildStackTraceElement ( stackTraceForEvent ) ;
1850- // TODO(andoli): also build stack trace component for other events
1851- // that have a stack trace using the StackTraceForEvent helper.
1852- } else if ( ! isReactNative ) {
1853- const stackTrace = Trace . Helpers . Trace . getZeroIndexedStackTraceForEvent ( event ) ;
1854- if ( stackTrace ?. length ) {
1855- contentHelper . addSection ( stackLabel ) ;
1856- contentHelper . createChildStackTraceElement ( TimelineUIUtils . stackTraceFromCallFrames ( stackTrace ) ) ;
1847+ if ( isReactNative ) {
1848+ const rnStackTrace = Trace . Extras . StackTraceForEvent . getForReactNative ( event , parsedTrace ) ;
1849+
1850+ if ( rnStackTrace ) {
1851+ contentHelper . addSection ( i18nString ( UIStrings . stackTrace ) ) ;
1852+ contentHelper . createChildStackTraceElement ( rnStackTrace ) ;
1853+ }
1854+ } else {
1855+ const stackTraceForEvent = Trace . Extras . StackTraceForEvent . get ( event , parsedTrace ) ;
1856+ if ( stackTraceForEvent ) {
1857+ contentHelper . addSection ( i18nString ( UIStrings . stackTrace ) ) ;
1858+ contentHelper . createChildStackTraceElement ( stackTraceForEvent ) ;
1859+ // TODO(andoli): also build stack trace component for other events
1860+ // that have a stack trace using the StackTraceForEvent helper.
1861+ } else {
1862+ const stackTrace = Trace . Helpers . Trace . getZeroIndexedStackTraceForEvent ( event ) ;
1863+ if ( stackTrace ?. length ) {
1864+ contentHelper . addSection ( stackLabel ) ;
1865+ contentHelper . createChildStackTraceElement ( TimelineUIUtils . stackTraceFromCallFrames ( stackTrace ) ) ;
1866+ }
18571867 }
18581868 }
18591869 switch ( event . name ) {
0 commit comments