Skip to content
Permalink
Browse files

fix(core): use window.performance for compatibility in JSDOM (#9700)

fix #9698
  • Loading branch information...
Justineo authored and yyx990803 committed Mar 15, 2019
1 parent 43115e0 commit 653c74e64e5ccd66cda94c77577984f8afa8386d
Showing with 12 additions and 10 deletions.
  1. +12 −10 src/core/observer/scheduler.js
@@ -47,16 +47,18 @@ let getNow: () => number = Date.now
// timestamp can either be hi-res (relative to page load) or low-res
// (relative to UNIX epoch), so in order to compare time we have to use the
// same timestamp type when saving the flush timestamp.
if (
inBrowser &&
window.performance &&
typeof performance.now === 'function' &&
document.createEvent('Event').timeStamp <= performance.now()
) {
// if the event timestamp is bigger than the hi-res timestamp
// (which is evaluated AFTER) it means the event is using a lo-res timestamp,
// and we need to use the lo-res version for event listeners as well.
getNow = () => performance.now()
if (inBrowser) {
const performance = window.performance
if (
performance &&
typeof performance.now === 'function' &&
document.createEvent('Event').timeStamp <= performance.now()
) {
// if the event timestamp is bigger than the hi-res timestamp
// (which is evaluated AFTER) it means the event is using a lo-res timestamp,
// and we need to use the lo-res version for event listeners as well.
getNow = () => performance.now()
}
}

/**

0 comments on commit 653c74e

Please sign in to comment.
You can’t perform that action at this time.