`JSON.parse` can throw, and if it does on this event handler, we'll lose track of it in Firefox, which eats errors on async handlers.  I think you should wrap this in try/catch, and at least `console.log` it so we have a hope of debugging later.