| Index: extensions/renderer/resources/event.js
|
| diff --git a/extensions/renderer/resources/event.js b/extensions/renderer/resources/event.js
|
| index bc885025814b31e8eb8e2e1b7f387de3b183593c..2cbf48b9ef98cb3918edbc89d03bd2e0ce90b75e 100644
|
| --- a/extensions/renderer/resources/event.js
|
| +++ b/extensions/renderer/resources/event.js
|
| @@ -54,12 +54,27 @@
|
|
|
| NullAttachmentStrategy.prototype.onAddedListener =
|
| function(listener) {
|
| + // For named events, we still inform the messaging bindings when a listener
|
| + // is registered to allow for native checking if a listener is registered.
|
| + if (this.event_.eventName &&
|
| + this.event_.listeners.length == 0) {
|
| + eventNatives.AttachUnmanagedEvent(this.event_.eventName);
|
| + }
|
| };
|
| +
|
| NullAttachmentStrategy.prototype.onRemovedListener =
|
| function(listener) {
|
| + if (this.event_.eventName &&
|
| + this.event_.listeners.length == 0) {
|
| + this.detach(true);
|
| + }
|
| };
|
| +
|
| NullAttachmentStrategy.prototype.detach = function(manual) {
|
| + if (this.event_.eventName)
|
| + eventNatives.DetachUnmanagedEvent(this.event_.eventName);
|
| };
|
| +
|
| NullAttachmentStrategy.prototype.getListenersByIDs = function(ids) {
|
| // |ids| is for filtered events only.
|
| return this.event_.listeners;
|
|
|