diff --git a/native/v8_extensions/native.mm b/native/v8_extensions/native.mm index 8d7705a79..ee8ef0112 100644 --- a/native/v8_extensions/native.mm +++ b/native/v8_extensions/native.mm @@ -25,7 +25,7 @@ namespace v8_extensions { const char* methodNames[] = { "absolute", "writeToPasteboard", "readFromPasteboard", "quit", "watchPath", "unwatchPath", "getWatchedPaths", "unwatchAllPaths", - "moveToTrash", "reload", "md5ForPath", "getPlatform", "setWindowState", + "moveToTrash", "reload", "getPlatform", "setWindowState", "getWindowState", "isMisspelled", "getCorrectionsForMisspelling" }; @@ -159,23 +159,6 @@ namespace v8_extensions { else if (name == "reload") { CefV8Context::GetCurrentContext()->GetBrowser()->ReloadIgnoreCache(); } - else if (name == "md5ForPath") { - NSString *path = stringFromCefV8Value(arguments[0]); - unsigned char outputData[CC_MD5_DIGEST_LENGTH]; - - NSData *inputData = [[NSData alloc] initWithContentsOfFile:path]; - CC_MD5([inputData bytes], [inputData length], outputData); - [inputData release]; - - NSMutableString *hash = [[NSMutableString alloc] init]; - - for (NSUInteger i = 0; i < CC_MD5_DIGEST_LENGTH; i++) { - [hash appendFormat:@"%02x", outputData[i]]; - } - - retval = CefV8Value::CreateString([hash UTF8String]); - return true; - } else if (name == "getPlatform") { retval = CefV8Value::CreateString("mac"); return true; diff --git a/src/stdlib/require.coffee b/src/stdlib/require.coffee index b4fa85ea1..c6cb7b38d 100644 --- a/src/stdlib/require.coffee +++ b/src/stdlib/require.coffee @@ -1,4 +1,5 @@ fs = nodeRequire 'fs' +crypto = nodeRequire 'crypto' paths = [ "#{window.resourcePath}/spec" @@ -86,7 +87,8 @@ createCacheDirectory = -> fs.mkdirSync('/tmp/atom-compiled-scripts') unless __exists('/tmp/atom-compiled-scripts') getCacheFilePath = (path) -> - "/tmp/atom-compiled-scripts/#{$native.md5ForPath(path)}" + md5 = crypto.createHash('md5').update(fs.readFileSync(path)).digest('hex') + "/tmp/atom-compiled-scripts/#{md5}" resolve = (name, {verifyExistence}={}) -> verifyExistence ?= true