@@ -261,6 +261,7 @@ const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
261261
262262let  timelinePanelInstance : TimelinePanel ; 
263263let  isNode : boolean ; 
264+ let  isReactNative : boolean ; 
264265
265266export  class  TimelinePanel  extends  UI . Panel . Panel  implements  Client ,  TimelineModeViewDelegate  { 
266267  private  readonly  dropTarget : UI . DropTarget . DropTarget ; 
@@ -364,7 +365,7 @@ export class TimelinePanel extends UI.Panel.Panel implements Client, TimelineMod
364365    this . captureLayersAndPicturesSetting . setTitle ( i18nString ( UIStrings . enableAdvancedPaint ) ) ; 
365366
366367    this . showScreenshotsSetting  = 
367-         Common . Settings . Settings . instance ( ) . createSetting ( 'timeline-show-screenshots' ,  isNode  ? false  : true ) ; 
368+         Common . Settings . Settings . instance ( ) . createSetting ( 'timeline-show-screenshots' ,  isNode  ||   isReactNative   ? false  : true ) ; 
368369    this . showScreenshotsSetting . setTitle ( i18nString ( UIStrings . screenshots ) ) ; 
369370    this . showScreenshotsSetting . addChangeListener ( this . updateOverviewControls ,  this ) ; 
370371
@@ -377,7 +378,7 @@ export class TimelinePanel extends UI.Panel.Panel implements Client, TimelineMod
377378    this . panelToolbar  =  new  UI . Toolbar . Toolbar ( 'timeline-main-toolbar' ,  timelineToolbarContainer ) ; 
378379    this . panelToolbar . makeWrappable ( true ) ; 
379380    this . panelRightToolbar  =  new  UI . Toolbar . Toolbar ( '' ,  timelineToolbarContainer ) ; 
380-     if  ( ! isNode )  { 
381+     if  ( ! isNode   &&   ! isReactNative )  { 
381382      this . createSettingsPane ( ) ; 
382383      this . updateShowSettingsToolbarButton ( ) ; 
383384    } 
@@ -454,6 +455,11 @@ export class TimelinePanel extends UI.Panel.Panel implements Client, TimelineMod
454455    const  { forceNew,  isNode : isNodeMode }  =  opts ; 
455456    isNode  =  isNodeMode ; 
456457
458+     // [RN] Used to scope down available features for React Native targets 
459+     isReactNative  =  Root . Runtime . experiments . isEnabled ( 
460+       Root . Runtime . ExperimentName . REACT_NATIVE_SPECIFIC_UI , 
461+     ) ; 
462+ 
457463    if  ( ! timelinePanelInstance  ||  forceNew )  { 
458464      timelinePanelInstance  =  new  TimelinePanel ( ) ; 
459465    } 
@@ -560,7 +566,7 @@ export class TimelinePanel extends UI.Panel.Panel implements Client, TimelineMod
560566
561567    // View 
562568    this . panelToolbar . appendSeparator ( ) ; 
563-     if  ( ! isNode )  { 
569+     if  ( ! isNode   &&   ! isReactNative )  { 
564570      this . showScreenshotsToolbarCheckbox  = 
565571          this . createSettingCheckbox ( this . showScreenshotsSetting ,  i18nString ( UIStrings . captureScreenshots ) ) ; 
566572      this . panelToolbar . appendToolbarItem ( this . showScreenshotsToolbarCheckbox ) ; 
@@ -581,7 +587,7 @@ export class TimelinePanel extends UI.Panel.Panel implements Client, TimelineMod
581587    } 
582588
583589    // Settings 
584-     if  ( ! isNode )  { 
590+     if  ( ! isNode   &&   ! isReactNative )  { 
585591      this . panelRightToolbar . appendSeparator ( ) ; 
586592      this . panelRightToolbar . appendToolbarItem ( this . showSettingsPaneButton ) ; 
587593    } 
@@ -801,7 +807,7 @@ export class TimelinePanel extends UI.Panel.Panel implements Client, TimelineMod
801807  } 
802808
803809  private  updateSettingsPaneVisibility ( ) : void { 
804-     if  ( isNode )  { 
810+     if  ( isNode   ||   isReactNative )  { 
805811      return ; 
806812    } 
807813    if  ( this . showSettingsPaneSetting . get ( ) )  { 
0 commit comments