Use wheel, not scroll as we get scroll events from auto scroll down. Also only do the cursor move check for mouse move events.

This commit is contained in:
David Baker 2016-01-09 00:06:54 +00:00
parent 7b2d56f619
commit 581111e1a7

View file

@ -33,7 +33,9 @@ class UserActivity {
document.onkeypress = this._onUserActivity.bind(this); document.onkeypress = this._onUserActivity.bind(this);
// can't use document.scroll here because that's only the document // can't use document.scroll here because that's only the document
// itself being scrolled. Need to use addEventListener's useCapture. // itself being scrolled. Need to use addEventListener's useCapture.
window.addEventListener('scroll', this._onUserActivity.bind(this), true); // also this needs to be the wheel event, not scroll, as scroll is
// fired when the view scrolls down for a new message.
window.addEventListener('wheel', this._onUserActivity.bind(this), true);
this.lastActivityAtTs = new Date().getTime(); this.lastActivityAtTs = new Date().getTime();
this.lastDispatchAtTs = 0; this.lastDispatchAtTs = 0;
} }
@ -44,11 +46,11 @@ class UserActivity {
stop() { stop() {
document.onmousemove = undefined; document.onmousemove = undefined;
document.onkeypress = undefined; document.onkeypress = undefined;
window.removeEventListener('scroll', this._onUserActivity.bind(this), true); window.removeEventListener('wheel', this._onUserActivity.bind(this), true);
} }
_onUserActivity(event) { _onUserActivity(event) {
if (event.screenX) { if (event.screenX && event.type == "mousemove") {
if (event.screenX === this.lastScreenX && if (event.screenX === this.lastScreenX &&
event.screenY === this.lastScreenY) event.screenY === this.lastScreenY)
{ {