Skip to content

Commit

Permalink
Remove wheel and passive event listener feature flags (close #661)
Browse files Browse the repository at this point in the history
  • Loading branch information
mhadam committed Jul 24, 2018
1 parent cc27d5d commit 9bbee8c
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 38 deletions.
33 changes: 0 additions & 33 deletions src/js/lib/detectors.js
Original file line number Diff line number Diff line change
Expand Up @@ -247,39 +247,6 @@
features.cookie = object.hasCookies(testCookieName);
}

// Passive event listening
var detectPassiveEvents = {
update: function update() {
if (typeof window !== 'undefined' && typeof window.addEventListener === 'function') {
var passive = false;
var options = Object.defineProperty({}, 'passive', {
get: function get() {
passive = true;
}
});
// note: have to set and remove a no-op listener instead of null
// (which was used previously), becasue Edge v15 throws an error
// when providing a null callback.
// https://github.com/rafrex/detect-passive-events/pull/3
var noop = function noop() {
};
window.addEventListener('testPassiveEventSupport', noop, options);
window.removeEventListener('testPassiveEventSupport', noop, options);
detectPassiveEvents.hasSupport = passive;
}
}
};
detectPassiveEvents.update();

if (detectPassiveEvents.hasSupport === true) {
features.passive = '1';
}

// Detect available wheel event
features.wheel = "onwheel" in document.createElement("div") ? "wheel" : // Modern browsers support "wheel"
document.onmousewheel !== undefined ? "mousewheel" : // Webkit and IE support at least "mousewheel"
"DOMMouseScroll"; // let's assume that remaining browsers are older Firefox

return features;
};

Expand Down
36 changes: 31 additions & 5 deletions src/js/tracker.js
Original file line number Diff line number Diff line change
Expand Up @@ -1465,12 +1465,38 @@
activityTrackingInstalled = true;

// Add mousewheel event handler, detect passive event listeners for performance
if (Object.prototype.hasOwnProperty.call(browserFeatures, 'wheel')) {
if (Object.prototype.hasOwnProperty.call(browserFeatures, 'passive')) {
helpers.addEventListener(documentAlias, browserFeatures.wheel, activityHandler, {passive: true});
} else {
helpers.addEventListener(documentAlias, browserFeatures.wheel, activityHandler);
var detectPassiveEvents = {
update: function update() {
if (typeof window !== 'undefined' && typeof window.addEventListener === 'function') {
var passive = false;
var options = Object.defineProperty({}, 'passive', {
get: function get() {
passive = true;
}
});
// note: have to set and remove a no-op listener instead of null
// (which was used previously), becasue Edge v15 throws an error
// when providing a null callback.
// https://github.com/rafrex/detect-passive-events/pull/3
var noop = function noop() {
};
window.addEventListener('testPassiveEventSupport', noop, options);
window.removeEventListener('testPassiveEventSupport', noop, options);
detectPassiveEvents.hasSupport = passive;
}
}
};
detectPassiveEvents.update();

// Detect available wheel event
var wheelEvent = "onwheel" in document.createElement("div") ? "wheel" : // Modern browsers support "wheel"
document.onmousewheel !== undefined ? "mousewheel" : // Webkit and IE support at least "mousewheel"
"DOMMouseScroll"; // let's assume that remaining browsers are older Firefox

if (Object.prototype.hasOwnProperty.call(detectPassiveEvents, 'hasSupport')) {
helpers.addEventListener(documentAlias, wheelEvent, activityHandler, {passive: true});
} else {
helpers.addEventListener(documentAlias, wheelEvent, activityHandler);
}

// Capture our initial scroll points
Expand Down

0 comments on commit 9bbee8c

Please sign in to comment.