Description
Version
2.6.2
Reproduction link
https://jsfiddle.net/pzumygcq//
Steps to reproduce
- Download and install Firefox 52 ESR. Unsure if it is broken on other old versions of Firefox.
- Click on show button (this is important, click handlers work if they are bound when
currentFlushTimestamp
is 0). - This will show a second button, this button will increment the
count
variable every time it is clicked, except Firefox52 ESR
What is expected?
count
variable will increment
What is actually happening?
Click handler is not firing. I've done some digging into the vue.js code and it seems due to this part of the code being incorrect, or at least the timestamp Firefox has for the event is incorrect:
handler = original._wrapper = function (e) { if (e.timeStamp >= attachedTimestamp) { return original.apply(this, arguments) } };
On this version of Firefox, e.timeStamp is less than attachedTimestamp
Our application is built on vue.js but we have a lot of users who use Firefox 52 ESR for it's compatibility with Silverlight and upgrading is not an option right now.
Some further things I found when digging:
document.createEvent('Event').timeStamp
returns 1549471218936000
which means that vue will think that the event time is based on Date.now() rather than performance.now().