Skip to content

Commit

Permalink
Merge branch 'master' into personal/ray
Browse files Browse the repository at this point in the history
  • Loading branch information
open-hippy authored Jun 28, 2023
2 parents 0a10b97 + 340de78 commit a77c52e
Showing 1 changed file with 3 additions and 37 deletions.
40 changes: 3 additions & 37 deletions ios/sdk/base/executors/HippyJSCExecutor.mm
Original file line number Diff line number Diff line change
Expand Up @@ -669,29 +669,13 @@ - (void)executeApplicationScript:(NSData *)script
HippyAssertParam(script);
HippyAssertParam(sourceURL);

BOOL isRAMBundle = NO;
{
NSError *error;
script = loadPossiblyBundledApplicationScript(script, sourceURL, _performanceLogger, isRAMBundle, _randomAccessBundle, &error);
if (script == nil) {
if (onComplete) {
onComplete(error);
}
return;
}
}

// HippyProfileBeginFlowEvent();
[self executeBlockOnJavaScriptQueue:^{
// HippyProfileEndFlowEvent();
if (!self.isValid) {
return;
}

if (isRAMBundle) {
registerNativeRequire([self JSContext], self);
}

NSError *error = executeApplicationScript(script, sourceURL, isCommonBundle, self->_performanceLogger, [self JSGlobalContextRef]);
if (onComplete) {
onComplete(error);
Expand Down Expand Up @@ -719,26 +703,6 @@ static void handleJsExcepiton(std::shared_ptr<Scope> scope) {
}
}

static NSData *loadPossiblyBundledApplicationScript(NSData *script, __unused NSURL *sourceURL, __unused HippyPerformanceLogger *performanceLogger,
__unused BOOL &isRAMBundle, __unused RandomAccessBundleData &randomAccessBundle, __unused NSError **error) {
// JSStringCreateWithUTF8CString expects a null terminated C string.
// RAM Bundling already provides a null terminated one.
@autoreleasepool {
NSMutableData *nullTerminatedScript = [NSMutableData dataWithCapacity:script.length + 1];
[nullTerminatedScript appendData:script];
[nullTerminatedScript appendBytes:"" length:1];
script = nullTerminatedScript;
return script;
}
}

static void registerNativeRequire(JSContext *context, HippyJSCExecutor *executor) {
__weak HippyJSCExecutor *weakExecutor = executor;
context[@"nativeRequire"] = ^(NSNumber *moduleID) {
[weakExecutor _nativeRequire:moduleID];
};
}

static NSLock *jslock() {
static dispatch_once_t onceToken;
static NSLock *lock = nil;
Expand All @@ -762,7 +726,9 @@ static void registerNativeRequire(JSContext *context, HippyJSCExecutor *executor
}

JSValueRef jsError = NULL;
JSStringRef execJSString = JSStringCreateWithUTF8CString((const char *)script.bytes);
NSString *scriptText = [[NSString alloc] initWithData:script encoding:NSUTF8StringEncoding];
JSStringRef execJSString = JSStringCreateWithCFString((__bridge CFStringRef)scriptText);
//JSStringCreateWithUTF8CString((const char *)script.bytes);
JSStringRef bundleURL = JSStringCreateWithCFString((__bridge CFStringRef)sourceURL.absoluteString);

NSLock *lock = jslock();
Expand Down

0 comments on commit a77c52e

Please sign in to comment.