Index: chrome/renderer/resources/extensions/send_request.js |
diff --git a/chrome/renderer/resources/extensions/send_request.js b/chrome/renderer/resources/extensions/send_request.js |
index 2ea6545dfaabcae2acbaff9ae38f610ee61fc7e1..4ef4eec6e937d886555d35b74bd8801e20194770 100644 |
--- a/chrome/renderer/resources/extensions/send_request.js |
+++ b/chrome/renderer/resources/extensions/send_request.js |
@@ -114,13 +114,15 @@ function sendRequest(functionName, args, argSchemas, opt_args) { |
chromeHidden.JSON.stringify(request.args) : request.args; |
var nativeFunction = opt_args.nativeFunction || natives.StartRequest; |
- var requestId = natives.GetNextRequestId(); |
- request.id = requestId; |
- requests[requestId] = request; |
- var hasCallback = |
- (request.callback || opt_args.customCallback) ? true : false; |
- return nativeFunction(functionName, requestArgs, requestId, hasCallback, |
- opt_args.forIOThread); |
+ var hasCallback = !!(request.callback || opt_args.customCallback); |
+ var requestId = nativeFunction(functionName, |
+ requestArgs, |
+ hasCallback, |
+ opt_args.forIOThread); |
+ if (typeof(requestId) == 'number' && requestId >= 0) { |
+ request.id = requestId; |
+ requests[requestId] = request; |
+ } |
} |
exports.sendRequest = sendRequest; |