in src/js/detect.js [128:161]
function getConnectionSpeed(performance, connection, reportUnknown) {
connection = connection || navigator.connection || navigator.mozConnection || navigator.webkitConnection || {type: 'unknown'};
var isMobileNetwork = connection.type === 3 // connection.CELL_2G
|| connection.type === 4 // connection.CELL_3G
|| /^[23]g$/.test(connection.type), // string value in new spec
loadTime,
speed;
if (isMobileNetwork) {
return 'low';
}
loadTime = getPageSpeed(performance);
// Assume high speed for non supporting browsers
speed = 'high';
if (reportUnknown) {
speed = 'unknown';
}
if (loadTime) {
if (loadTime > 1000) { // One second
speed = 'medium';
if (loadTime > 3000) { // Three seconds
speed = 'low';
}
}
}
return speed;
}