From e43e2146d9c8efbd4eee9ba5d3ec54d8dda2b52e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mart=C3=ADn=20Bigio?= Date: Mon, 28 Dec 2015 16:43:22 -0800 Subject: [PATCH] Gate Hot Loading Summary: public Until we support this fature on OSS, don't show the menu option. Reviewed By: vjeux Differential Revision: D2791198 fb-gh-sync-id: 11b66d467c1ab784bbf549b893d0a3abd69e2741 --- React/Base/RCTBridgeDelegate.h | 6 ++++++ React/Executors/RCTJSCExecutor.m | 5 ++++- packager/react-packager/src/Server/__tests__/Server-test.js | 4 ++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/React/Base/RCTBridgeDelegate.h b/React/Base/RCTBridgeDelegate.h index d8606c8d9..4c1a52f09 100644 --- a/React/Base/RCTBridgeDelegate.h +++ b/React/Base/RCTBridgeDelegate.h @@ -47,4 +47,10 @@ typedef void (^RCTSourceLoadBlock)(NSError *error, NSData *source); - (void)loadSourceForBridge:(RCTBridge *)bridge withBlock:(RCTSourceLoadBlock)loadCallback; +/** + * Indicates wheather Hot Loading is supported or not. + * Note this method will get removed soon, once we support Hot Loading on OSS. + */ +- (BOOL)isHotLoadingEnabled; + @end diff --git a/React/Executors/RCTJSCExecutor.m b/React/Executors/RCTJSCExecutor.m index b46886133..2adcdbb01 100644 --- a/React/Executors/RCTJSCExecutor.m +++ b/React/Executors/RCTJSCExecutor.m @@ -318,7 +318,10 @@ static void RCTInstallHotLoading(RCTBridge *bridge, RCTJSCExecutor *executor) }; RCTInstallJSCProfiler(_bridge, strongSelf->_context.ctx); - RCTInstallHotLoading(_bridge, strongSelf); + + if ([self.bridge.delegate respondsToSelector:@selector(isHotLoadingEnabled)] && [self.bridge.delegate isHotLoadingEnabled]) { + RCTInstallHotLoading(_bridge, strongSelf); + } for (NSString *event in @[RCTProfileDidStartProfiling, RCTProfileDidEndProfiling]) { [[NSNotificationCenter defaultCenter] addObserver:strongSelf diff --git a/packager/react-packager/src/Server/__tests__/Server-test.js b/packager/react-packager/src/Server/__tests__/Server-test.js index 2fdb5e738..107f27503 100644 --- a/packager/react-packager/src/Server/__tests__/Server-test.js +++ b/packager/react-packager/src/Server/__tests__/Server-test.js @@ -110,6 +110,7 @@ describe('processRequest', () => { entryFile: 'index.ios.js', inlineSourceMap: false, minify: false, + hot: false, runModule: true, sourceMapUrl: 'index.ios.includeRequire.map', dev: true, @@ -130,6 +131,7 @@ describe('processRequest', () => { entryFile: 'index.js', inlineSourceMap: false, minify: false, + hot: false, runModule: true, sourceMapUrl: 'index.map?platform=ios', dev: true, @@ -272,6 +274,7 @@ describe('processRequest', () => { entryFile: 'foo file', inlineSourceMap: false, minify: false, + hot: false, runModule: true, dev: true, platform: undefined, @@ -290,6 +293,7 @@ describe('processRequest', () => { entryFile: 'path/to/foo.js', inlineSourceMap: false, minify: false, + hot: false, runModule: false, sourceMapUrl: '/path/to/foo.map?dev=false&runModule=false', dev: false,