Index: chrome/renderer/resources/extensions/event.js |
diff --git a/chrome/renderer/resources/extensions/event.js b/chrome/renderer/resources/extensions/event.js |
index c8a05cff7005e1ed2241a089adfaa86772231dd3..27ad2ec99f06ec241eb05fe3b075a9d0128179d6 100644 |
--- a/chrome/renderer/resources/extensions/event.js |
+++ b/chrome/renderer/resources/extensions/event.js |
@@ -195,14 +195,19 @@ |
if (validationErrors) { |
return validationErrors; |
} |
+ var retvals = []; |
for (var i = 0; i < this.listeners_.length; i++) { |
try { |
- this.listeners_[i].apply(null, args); |
+ var retval = this.listeners_[i].apply(null, args); |
+ if (retval !== undefined) |
+ retvals.push(retval); |
} catch (e) { |
console.error("Error in event handler for '" + this.eventName_ + |
"': " + e.stack); |
} |
} |
+ if (retvals.length) |
+ return retvals; |
Matt Perry
2012/03/30 05:41:39
This conflicts with 'return validationErrors' abov
|
}; |
// Attaches this event object to its name. Only one object can have a given |