Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Side by Side Diff: lib/messaging.js

Issue 29715577: Issue 6449 - Switch to Harmony modules (Closed) Base URL: https://hg.adblockplus.org/adblockpluschrome/
Patch Set: Created March 6, 2018, 10:20 a.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * This file is part of Adblock Plus <https://adblockplus.org/>, 2 * This file is part of Adblock Plus <https://adblockplus.org/>,
3 * Copyright (C) 2006-present eyeo GmbH 3 * Copyright (C) 2006-present eyeo GmbH
4 * 4 *
5 * Adblock Plus is free software: you can redistribute it and/or modify 5 * Adblock Plus is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 3 as 6 * it under the terms of the GNU General Public License version 3 as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
8 * 8 *
9 * Adblock Plus is distributed in the hope that it will be useful, 9 * Adblock Plus is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details. 12 * GNU General Public License for more details.
13 * 13 *
14 * You should have received a copy of the GNU General Public License 14 * You should have received a copy of the GNU General Public License
15 * along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>. 15 * along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>.
16 */ 16 */
17 17
18 /** @module messaging */ 18 /** @module messaging */
19 19
20 "use strict"; 20 import {EventEmitter} from "events";
21
22 const {EventEmitter} = require("events");
23 21
24 /** 22 /**
25 * Communication port wrapping ext.onMessage to receive messages. 23 * Communication port wrapping ext.onMessage to receive messages.
26 * 24 *
27 * @constructor 25 * @constructor
28 */ 26 */
29 function Port() 27 function Port()
30 { 28 {
31 this._eventEmitter = new EventEmitter(); 29 this._eventEmitter = new EventEmitter();
32 this._onMessage = this._onMessage.bind(this); 30 this._onMessage = this._onMessage.bind(this);
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
105 { 103 {
106 ext.onMessage.removeListener(this._onMessage); 104 ext.onMessage.removeListener(this._onMessage);
107 } 105 }
108 }; 106 };
109 107
110 /** 108 /**
111 * The default port to receive messages. 109 * The default port to receive messages.
112 * 110 *
113 * @type {Port} 111 * @type {Port}
114 */ 112 */
115 exports.port = new Port(); 113 export const port = new Port();
116 114
117 /** 115 /**
118 * Creates a new port that is disconnected when the given window is unloaded. 116 * Creates a new port that is disconnected when the given window is unloaded.
119 * 117 *
120 * @param {Window} window 118 * @param {Window} window
121 * @return {Port} 119 * @return {Port}
122 */ 120 */
123 exports.getPort = function(window) 121 export function getPort(window)
124 { 122 {
125 let port = new Port(); 123 let newPort = new Port();
Manish Jethani 2018/03/06 10:29:06 Now we're shadowing the outer port variable so we
126 window.addEventListener("unload", () => 124 window.addEventListener("unload", () =>
127 { 125 {
128 port.disconnect(); 126 newPort.disconnect();
129 }); 127 });
130 return port; 128 return newPort;
131 }; 129 }
132 130
OLDNEW

Powered by Google App Engine
This is Rietveld