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

Unified Diff: extensions/renderer/resources/binding.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/module_system.cc ('k') | extensions/renderer/resources/event.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: extensions/renderer/resources/binding.js
diff --git a/extensions/renderer/resources/binding.js b/extensions/renderer/resources/binding.js
index be2056a4e9a0085d63d97f29dfae63a1fe10e629..d36f1edf494d4a9b84cd373125ead427a61a03f6 100644
--- a/extensions/renderer/resources/binding.js
+++ b/extensions/renderer/resources/binding.js
@@ -5,6 +5,7 @@
var Event = require('event_bindings').Event;
var forEach = require('utils').forEach;
var GetAvailability = requireNative('v8_context').GetAvailability;
+var exceptionHandler = require('uncaught_exception_handler');
var lastError = require('lastError');
var logActivity = requireNative('activityLogger');
var logging = requireNative('logging');
@@ -69,14 +70,15 @@ APIFunctions.prototype.setHandleRequestWithPromise =
return this.setHook_(apiName, 'handleRequest', function() {
var name = prefix + '.' + apiName;
logActivity.LogAPICall(extensionId, name, $Array.slice(arguments));
- var stack = sendRequestHandler.getExtensionStackTrace();
+ var stack = exceptionHandler.getExtensionStackTrace();
var callback = arguments[arguments.length - 1];
var args = $Array.slice(arguments, 0, arguments.length - 1);
$Function.apply(customizedFunction, this, args).then(function(result) {
sendRequestHandler.safeCallbackApply(
name, {'stack': stack}, callback, [result]);
}).catch(function(error) {
- lastError.run(name, error.message, stack, callback);
+ var message = exceptionHandler.safeErrorToString(error, true);
+ lastError.run(name, message, stack, callback);
});
});
};
@@ -134,7 +136,7 @@ function getPlatform() {
function isPlatformSupported(schemaNode, platform) {
return !schemaNode.platforms ||
- schemaNode.platforms.indexOf(platform) > -1;
+ $Array.indexOf(schemaNode.platforms, platform) > -1;
}
function isManifestVersionSupported(schemaNode, manifestVersion) {
« no previous file with comments | « extensions/renderer/module_system.cc ('k') | extensions/renderer/resources/event.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698