Index: extensions/renderer/resources/send_request.js |
diff --git a/extensions/renderer/resources/send_request.js b/extensions/renderer/resources/send_request.js |
index 7cdc7d16936a19a267258e217ccc4fd0a853433c..a97dee54a001cfc603e8708027e2528feab6adc6 100644 |
--- a/extensions/renderer/resources/send_request.js |
+++ b/extensions/renderer/resources/send_request.js |
@@ -78,10 +78,7 @@ function handleResponse(requestId, name, success, responseList, error) { |
!lastError.hasAccessed(callerChrome)) { |
// The native call caused an error, but the developer didn't check |
// runtime.lastError. |
- // Notify the developer of the error via the (error) console. |
- console.error("Unchecked runtime.lastError while running " + |
- (name || "unknown") + ": " + error + |
- (request.stack ? "\n" + request.stack : "")); |
+ lastError.reportUncheckedLastError(name, error, request.stack); |
} |
} finally { |
delete requests[requestId]; |
@@ -120,12 +117,14 @@ function prepareRequest(args, argSchemas) { |
// - forIOThread: true if this function should be handled on the browser IO |
// thread. |
// - preserveNullInObjects: true if it is safe for null to be in objects. |
+// - stack: An optional string that contains the stack trace, to be displayed |
+// to the user if an error occurs. |
function sendRequest(functionName, args, argSchemas, optArgs) { |
calledSendRequest = true; |
if (!optArgs) |
optArgs = {}; |
var request = prepareRequest(args, argSchemas); |
- request.stack = exceptionHandler.getExtensionStackTrace(); |
+ request.stack = optArgs.stack || exceptionHandler.getExtensionStackTrace(); |
if (optArgs.customCallback) { |
request.customCallback = optArgs.customCallback; |
} |