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

Side by Side 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 unified diff | Download patch
« no previous file with comments | « extensions/renderer/module_system.cc ('k') | extensions/renderer/resources/event.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 var Event = require('event_bindings').Event; 5 var Event = require('event_bindings').Event;
6 var forEach = require('utils').forEach; 6 var forEach = require('utils').forEach;
7 var GetAvailability = requireNative('v8_context').GetAvailability; 7 var GetAvailability = requireNative('v8_context').GetAvailability;
8 var exceptionHandler = require('uncaught_exception_handler');
8 var lastError = require('lastError'); 9 var lastError = require('lastError');
9 var logActivity = requireNative('activityLogger'); 10 var logActivity = requireNative('activityLogger');
10 var logging = requireNative('logging'); 11 var logging = requireNative('logging');
11 var process = requireNative('process'); 12 var process = requireNative('process');
12 var schemaRegistry = requireNative('schema_registry'); 13 var schemaRegistry = requireNative('schema_registry');
13 var schemaUtils = require('schemaUtils'); 14 var schemaUtils = require('schemaUtils');
14 var utils = require('utils'); 15 var utils = require('utils');
15 var sendRequestHandler = require('sendRequest'); 16 var sendRequestHandler = require('sendRequest');
16 17
17 var contextType = process.GetContextType(); 18 var contextType = process.GetContextType();
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 return ret; 63 return ret;
63 }); 64 });
64 }; 65 };
65 66
66 APIFunctions.prototype.setHandleRequestWithPromise = 67 APIFunctions.prototype.setHandleRequestWithPromise =
67 function(apiName, customizedFunction) { 68 function(apiName, customizedFunction) {
68 var prefix = this.namespace; 69 var prefix = this.namespace;
69 return this.setHook_(apiName, 'handleRequest', function() { 70 return this.setHook_(apiName, 'handleRequest', function() {
70 var name = prefix + '.' + apiName; 71 var name = prefix + '.' + apiName;
71 logActivity.LogAPICall(extensionId, name, $Array.slice(arguments)); 72 logActivity.LogAPICall(extensionId, name, $Array.slice(arguments));
72 var stack = sendRequestHandler.getExtensionStackTrace(); 73 var stack = exceptionHandler.getExtensionStackTrace();
73 var callback = arguments[arguments.length - 1]; 74 var callback = arguments[arguments.length - 1];
74 var args = $Array.slice(arguments, 0, arguments.length - 1); 75 var args = $Array.slice(arguments, 0, arguments.length - 1);
75 $Function.apply(customizedFunction, this, args).then(function(result) { 76 $Function.apply(customizedFunction, this, args).then(function(result) {
76 sendRequestHandler.safeCallbackApply( 77 sendRequestHandler.safeCallbackApply(
77 name, {'stack': stack}, callback, [result]); 78 name, {'stack': stack}, callback, [result]);
78 }).catch(function(error) { 79 }).catch(function(error) {
79 lastError.run(name, error.message, stack, callback); 80 var message = exceptionHandler.safeErrorToString(error, true);
81 lastError.run(name, message, stack, callback);
80 }); 82 });
81 }); 83 });
82 }; 84 };
83 85
84 APIFunctions.prototype.setUpdateArgumentsPostValidate = 86 APIFunctions.prototype.setUpdateArgumentsPostValidate =
85 function(apiName, customizedFunction) { 87 function(apiName, customizedFunction) {
86 return this.setHook_( 88 return this.setHook_(
87 apiName, 'updateArgumentsPostValidate', customizedFunction); 89 apiName, 'updateArgumentsPostValidate', customizedFunction);
88 }; 90 };
89 91
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
127 for (var i = 0; i < platforms.length; i++) { 129 for (var i = 0; i < platforms.length; i++) {
128 if ($RegExp.test(platforms[i][0], navigator.appVersion)) { 130 if ($RegExp.test(platforms[i][0], navigator.appVersion)) {
129 return platforms[i][1]; 131 return platforms[i][1];
130 } 132 }
131 } 133 }
132 return "unknown"; 134 return "unknown";
133 } 135 }
134 136
135 function isPlatformSupported(schemaNode, platform) { 137 function isPlatformSupported(schemaNode, platform) {
136 return !schemaNode.platforms || 138 return !schemaNode.platforms ||
137 schemaNode.platforms.indexOf(platform) > -1; 139 $Array.indexOf(schemaNode.platforms, platform) > -1;
138 } 140 }
139 141
140 function isManifestVersionSupported(schemaNode, manifestVersion) { 142 function isManifestVersionSupported(schemaNode, manifestVersion) {
141 return !schemaNode.maximumManifestVersion || 143 return !schemaNode.maximumManifestVersion ||
142 manifestVersion <= schemaNode.maximumManifestVersion; 144 manifestVersion <= schemaNode.maximumManifestVersion;
143 } 145 }
144 146
145 function isSchemaNodeSupported(schemaNode, platform, manifestVersion) { 147 function isSchemaNodeSupported(schemaNode, platform, manifestVersion) {
146 return isPlatformSupported(schemaNode, platform) && 148 return isPlatformSupported(schemaNode, platform) &&
147 isManifestVersionSupported(schemaNode, manifestVersion); 149 isManifestVersionSupported(schemaNode, manifestVersion);
(...skipping 322 matching lines...) Expand 10 before | Expand all | Expand 10 after
470 availability.message); 472 availability.message);
471 return; 473 return;
472 } 474 }
473 475
474 this.runHooks_(mod); 476 this.runHooks_(mod);
475 return mod; 477 return mod;
476 } 478 }
477 }; 479 };
478 480
479 exports.Binding = Binding; 481 exports.Binding = Binding;
OLDNEW
« 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