Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(73)

Unified Diff: extensions/renderer/resources/send_request.js

Issue 482603002: Unify logic of stack trace generation for extension errors (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: update expected stack trace length Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « extensions/renderer/resources/event.js ('k') | extensions/renderer/resources/uncaught_exception_handler.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: extensions/renderer/resources/send_request.js
diff --git a/extensions/renderer/resources/send_request.js b/extensions/renderer/resources/send_request.js
index 84028437e28d32217c86880f38a1a582c3c64136..7cdc7d16936a19a267258e217ccc4fd0a853433c 100644
--- a/extensions/renderer/resources/send_request.js
+++ b/extensions/renderer/resources/send_request.js
@@ -2,11 +2,10 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-var handleUncaughtException = require('uncaught_exception_handler').handle;
+var exceptionHandler = require('uncaught_exception_handler');
var lastError = require('lastError');
var logging = requireNative('logging');
var natives = requireNative('sendRequest');
-var processNatives = requireNative('process');
var validate = require('schemaUtils').validate;
// All outstanding requests from sendRequest().
@@ -21,10 +20,7 @@ function safeCallbackApply(name, request, callback, args) {
try {
$Function.apply(callback, request, args);
} catch (e) {
- var errorMessage = "Error in response to " + name + ": " + e;
- if (request.stack && request.stack != '')
- errorMessage += "\n" + request.stack;
- handleUncaughtException(errorMessage, e);
+ exceptionHandler.handle('Error in response to ' + name, e, request.stack);
}
}
@@ -93,17 +89,6 @@ function handleResponse(requestId, name, success, responseList, error) {
if (callerChrome !== chrome)
lastError.clear(callerChrome);
}
-};
-
-function getExtensionStackTrace(call_name) {
- var stack = $String.split(new Error().stack, '\n');
- var id = processNatives.GetExtensionId();
-
- // Remove stack frames before and after that weren't associated with the
- // extension.
- return $Array.join(stack.filter(function(line) {
- return line.indexOf(id) != -1;
- }), '\n');
}
function prepareRequest(args, argSchemas) {
@@ -140,7 +125,7 @@ function sendRequest(functionName, args, argSchemas, optArgs) {
if (!optArgs)
optArgs = {};
var request = prepareRequest(args, argSchemas);
- request.stack = getExtensionStackTrace();
+ request.stack = exceptionHandler.getExtensionStackTrace();
if (optArgs.customCallback) {
request.customCallback = optArgs.customCallback;
}
@@ -172,7 +157,6 @@ exports.sendRequest = sendRequest;
exports.getCalledSendRequest = getCalledSendRequest;
exports.clearCalledSendRequest = clearCalledSendRequest;
exports.safeCallbackApply = safeCallbackApply;
-exports.getExtensionStackTrace = getExtensionStackTrace;
// Called by C++.
exports.handleResponse = handleResponse;
« no previous file with comments | « extensions/renderer/resources/event.js ('k') | extensions/renderer/resources/uncaught_exception_handler.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698