Fix inpage.js event handler memory leak (#6177)

Fixes #6176
feature/default_network_editable
Graham Kaemmer 6 years ago committed by Paul Bouchon
parent b58a9bd202
commit 89c4353408
  1. 9
      app/scripts/inpage.js

@ -29,12 +29,13 @@ console.warn('ATTENTION: In an effort to improve user privacy, MetaMask ' +
* @param {Function} handler - event handler * @param {Function} handler - event handler
* @param {boolean} remove - removes this handler after being triggered * @param {boolean} remove - removes this handler after being triggered
*/ */
function onMessage (messageType, handler, remove) { function onMessage (messageType, callback, remove) {
window.addEventListener('message', function ({ data }) { const handler = function ({ data }) {
if (!data || data.type !== messageType) { return } if (!data || data.type !== messageType) { return }
remove && window.removeEventListener('message', handler) remove && window.removeEventListener('message', handler)
handler.apply(window, arguments) callback.apply(window, arguments)
}) }
window.addEventListener('message', handler)
} }
// //

Loading…
Cancel
Save