add notifications for dev reload
Reviewed By: alexeylang Differential Revision: D5630472 fbshipit-source-id: 1c44a52fddead361b43551384bbfc73e2d89438f
This commit is contained in:
Родитель
36f2d18b10
Коммит
1ce7e4c1e5
|
@ -44,6 +44,24 @@ RCT_EXTERN NSString *const RCTJavaScriptDidFailToLoadNotification;
|
||||||
*/
|
*/
|
||||||
RCT_EXTERN NSString *const RCTDidInitializeModuleNotification;
|
RCT_EXTERN NSString *const RCTDidInitializeModuleNotification;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This notification fires just before the bridge starts processing a request to
|
||||||
|
* reload.
|
||||||
|
*/
|
||||||
|
RCT_EXTERN NSString *const RCTBridgeWillReloadNotification;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This notification fires just before the bridge begins downloading a script
|
||||||
|
* from the packager.
|
||||||
|
*/
|
||||||
|
RCT_EXTERN NSString *const RCTBridgeWillDownloadScriptNotification;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This notification fires just after the bridge finishes downloading a script
|
||||||
|
* from the packager.
|
||||||
|
*/
|
||||||
|
RCT_EXTERN NSString *const RCTBridgeDidDownloadScriptNotification;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This block can be used to instantiate modules that require additional
|
* This block can be used to instantiate modules that require additional
|
||||||
* init parameters, or additional configuration prior to being used.
|
* init parameters, or additional configuration prior to being used.
|
||||||
|
|
|
@ -29,6 +29,9 @@ NSString *const RCTJavaScriptWillStartLoadingNotification = @"RCTJavaScriptWillS
|
||||||
NSString *const RCTJavaScriptDidLoadNotification = @"RCTJavaScriptDidLoadNotification";
|
NSString *const RCTJavaScriptDidLoadNotification = @"RCTJavaScriptDidLoadNotification";
|
||||||
NSString *const RCTJavaScriptDidFailToLoadNotification = @"RCTJavaScriptDidFailToLoadNotification";
|
NSString *const RCTJavaScriptDidFailToLoadNotification = @"RCTJavaScriptDidFailToLoadNotification";
|
||||||
NSString *const RCTDidInitializeModuleNotification = @"RCTDidInitializeModuleNotification";
|
NSString *const RCTDidInitializeModuleNotification = @"RCTDidInitializeModuleNotification";
|
||||||
|
NSString *const RCTBridgeWillReloadNotification = @"RCTBridgeWillReloadNotification";
|
||||||
|
NSString *const RCTBridgeWillDownloadScriptNotification = @"RCTBridgeWillDownloadScriptNotification";
|
||||||
|
NSString *const RCTBridgeDidDownloadScriptNotification = @"RCTBridgeDidDownloadScriptNotification";
|
||||||
|
|
||||||
static NSMutableArray<Class> *RCTModuleClasses;
|
static NSMutableArray<Class> *RCTModuleClasses;
|
||||||
NSArray<Class> *RCTGetModuleClasses(void)
|
NSArray<Class> *RCTGetModuleClasses(void)
|
||||||
|
@ -260,6 +263,8 @@ RCT_NOT_IMPLEMENTED(- (instancetype)init)
|
||||||
[RCTInspectorDevServerHelper disableDebugger];
|
[RCTInspectorDevServerHelper disableDebugger];
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
[[NSNotificationCenter defaultCenter] postNotificationName:RCTBridgeWillReloadNotification object:self];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Any thread
|
* Any thread
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -377,6 +377,8 @@ struct RCTInstanceCallback : public InstanceCallback {
|
||||||
|
|
||||||
- (void)loadSource:(RCTSourceLoadBlock)_onSourceLoad onProgress:(RCTSourceLoadProgressBlock)onProgress
|
- (void)loadSource:(RCTSourceLoadBlock)_onSourceLoad onProgress:(RCTSourceLoadProgressBlock)onProgress
|
||||||
{
|
{
|
||||||
|
NSNotificationCenter *center = [NSNotificationCenter defaultCenter];
|
||||||
|
[center postNotificationName:RCTBridgeWillDownloadScriptNotification object:_parentBridge];
|
||||||
[_performanceLogger markStartForTag:RCTPLScriptDownload];
|
[_performanceLogger markStartForTag:RCTPLScriptDownload];
|
||||||
NSUInteger cookie = RCTProfileBeginAsyncEvent(0, @"JavaScript download", nil);
|
NSUInteger cookie = RCTProfileBeginAsyncEvent(0, @"JavaScript download", nil);
|
||||||
|
|
||||||
|
@ -388,6 +390,8 @@ struct RCTInstanceCallback : public InstanceCallback {
|
||||||
RCTProfileEndAsyncEvent(0, @"native", cookie, @"JavaScript download", @"JS async");
|
RCTProfileEndAsyncEvent(0, @"native", cookie, @"JavaScript download", @"JS async");
|
||||||
[performanceLogger markStopForTag:RCTPLScriptDownload];
|
[performanceLogger markStopForTag:RCTPLScriptDownload];
|
||||||
[performanceLogger setValue:sourceLength forTag:RCTPLBundleSize];
|
[performanceLogger setValue:sourceLength forTag:RCTPLBundleSize];
|
||||||
|
[center postNotificationName:RCTBridgeDidDownloadScriptNotification object:self->_parentBridge];
|
||||||
|
|
||||||
_onSourceLoad(error, source, sourceLength);
|
_onSourceLoad(error, source, sourceLength);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче