1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-23 09:52:26 +01:00

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

Fixes #6176
This commit is contained in:
Graham Kaemmer 2019-02-18 13:07:58 -08:00 committed by Paul Bouchon
parent b58a9bd202
commit 89c4353408

View File

@ -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)
} }
// //