@@ -138,16 +138,6 @@ export default class Store extends EventEmitter<{
138138  // Should the React Native style editor panel be shown? 
139139  _isNativeStyleEditorSupported : boolean  =  false ; 
140140
141-   // Can the backend use the Storage API (e.g. localStorage)? 
142-   // If not, features like reload-and-profile will not work correctly and must be disabled. 
143-   _isBackendStorageAPISupported : boolean  =  false ; 
144- 
145-   // Can DevTools use sync XHR requests? 
146-   // If not, features like reload-and-profile will not work correctly and must be disabled. 
147-   // This current limitation applies only to web extension builds 
148-   // and will need to be reconsidered in the future if we add support for reload to React Native. 
149-   _isSynchronousXHRSupported : boolean  =  false ; 
150- 
151141  _nativeStyleEditorValidAttributes : $ReadOnlyArray < string >  |  null  =  null ; 
152142
153143  // Older backends don't support an explicit bridge protocol, 
@@ -178,10 +168,12 @@ export default class Store extends EventEmitter<{
178168  // These options may be initially set by a configuration option when constructing the Store. 
179169  _supportsInspectMatchingDOMElement : boolean  =  false ; 
180170  _supportsClickToInspect : boolean  =  false ; 
181-   _supportsReloadAndProfile : boolean  =  false ; 
182171  _supportsTimeline : boolean  =  false ; 
183172  _supportsTraceUpdates : boolean  =  false ; 
184173
174+   _isReloadAndProfileFrontendSupported : boolean  =  false ; 
175+   _isReloadAndProfileBackendSupported : boolean  =  false ; 
176+ 
185177  // These options default to false but may be updated as roots are added and removed. 
186178  _rootSupportsBasicProfiling : boolean  =  false ; 
187179  _rootSupportsTimelineProfiling : boolean  =  false ; 
@@ -234,7 +226,7 @@ export default class Store extends EventEmitter<{
234226        this . _supportsClickToInspect  =  true ; 
235227      } 
236228      if  ( supportsReloadAndProfile )  { 
237-         this . _supportsReloadAndProfile  =  true ; 
229+         this . _isReloadAndProfileFrontendSupported  =  true ; 
238230      } 
239231      if  ( supportsTimeline )  { 
240232        this . _supportsTimeline  =  true ; 
@@ -255,17 +247,13 @@ export default class Store extends EventEmitter<{
255247    ) ; 
256248    bridge . addListener ( 'shutdown' ,  this . onBridgeShutdown ) ; 
257249    bridge . addListener ( 
258-       'isBackendStorageAPISupported ' , 
259-       this . onBackendStorageAPISupported , 
250+       'isReloadAndProfileSupportedByBackend ' , 
251+       this . onBackendReloadAndProfileSupported , 
260252    ) ; 
261253    bridge . addListener ( 
262254      'isNativeStyleEditorSupported' , 
263255      this . onBridgeNativeStyleEditorSupported , 
264256    ) ; 
265-     bridge . addListener ( 
266-       'isSynchronousXHRSupported' , 
267-       this . onBridgeSynchronousXHRSupported , 
268-     ) ; 
269257    bridge . addListener ( 
270258      'unsupportedRendererVersion' , 
271259      this . onBridgeUnsupportedRendererVersion , 
@@ -469,13 +457,9 @@ export default class Store extends EventEmitter<{
469457  } 
470458
471459  get  supportsReloadAndProfile ( ) : boolean  { 
472-     // Does the DevTools shell support reloading and eagerly injecting the renderer interface? 
473-     // And if so, can the backend use the localStorage API and sync XHR? 
474-     // All of these are currently required for the reload-and-profile feature to work. 
475460    return  ( 
476-       this . _supportsReloadAndProfile  && 
477-       this . _isBackendStorageAPISupported  && 
478-       this . _isSynchronousXHRSupported 
461+       this . _isReloadAndProfileFrontendSupported  && 
462+       this . _isReloadAndProfileBackendSupported 
479463    ) ; 
480464  } 
481465
@@ -1433,17 +1417,13 @@ export default class Store extends EventEmitter<{
14331417    ) ; 
14341418    bridge . removeListener ( 'shutdown' ,  this . onBridgeShutdown ) ; 
14351419    bridge . removeListener ( 
1436-       'isBackendStorageAPISupported ' , 
1437-       this . onBackendStorageAPISupported , 
1420+       'isReloadAndProfileSupportedByBackend ' , 
1421+       this . onBackendReloadAndProfileSupported , 
14381422    ) ; 
14391423    bridge . removeListener ( 
14401424      'isNativeStyleEditorSupported' , 
14411425      this . onBridgeNativeStyleEditorSupported , 
14421426    ) ; 
1443-     bridge . removeListener ( 
1444-       'isSynchronousXHRSupported' , 
1445-       this . onBridgeSynchronousXHRSupported , 
1446-     ) ; 
14471427    bridge . removeListener ( 
14481428      'unsupportedRendererVersion' , 
14491429      this . onBridgeUnsupportedRendererVersion , 
@@ -1458,18 +1438,10 @@ export default class Store extends EventEmitter<{
14581438    } 
14591439  } ; 
14601440
1461-   onBackendStorageAPISupported: ( 
1462-     isBackendStorageAPISupported : boolean , 
1463-   )  =>  void  =  isBackendStorageAPISupported  =>  { 
1464-     this . _isBackendStorageAPISupported  =  isBackendStorageAPISupported ; 
1465- 
1466-     this . emit ( 'supportsReloadAndProfile' ) ; 
1467-   } ; 
1468- 
1469-   onBridgeSynchronousXHRSupported: ( 
1470-     isSynchronousXHRSupported : boolean , 
1471-   )  =>  void  =  isSynchronousXHRSupported  =>  { 
1472-     this . _isSynchronousXHRSupported  =  isSynchronousXHRSupported ; 
1441+   onBackendReloadAndProfileSupported: ( 
1442+     isReloadAndProfileSupported : boolean , 
1443+   )  =>  void  =  isReloadAndProfileSupported  =>  { 
1444+     this . _isReloadAndProfileBackendSupported  =  isReloadAndProfileSupported ; 
14731445
14741446    this . emit ( 'supportsReloadAndProfile' ) ; 
14751447  } ; 
0 commit comments