in media/js/base/mozilla-client.js [179:228]
Client._isFirefoxUpToDate = function (strict, isESR, userVer) {
strict = strict === undefined ? true : strict;
isESR = isESR === undefined ? false : isESR;
userVer = userVer === undefined ? Client._getFirefoxVersion() : userVer;
var html = document.documentElement;
if (
!html.getAttribute('data-esr-versions') ||
!html.getAttribute('data-latest-firefox')
) {
return false;
}
var versions = isESR
? html.getAttribute('data-esr-versions').split(' ')
: [html.getAttribute('data-latest-firefox')];
var userVerArr = userVer.match(/^(\d+(?:\.\d+){1,2})/);
if (userVerArr && userVerArr.length > 0) {
userVerArr = userVerArr[1].split('.');
} else {
// if there's no version in the UA string, assume out of date (issue 10582)
return false;
}
var isUpToDate = false;
// Sort product details version so we compare the newer version first
versions.sort(function (a, b) {
return parseFloat(a) < parseFloat(b);
});
// Compare each latest version in product details to the user version.
for (var i = 0; i < versions.length; i++) {
var latestVerArr = versions[i].split('.');
isUpToDate = Client._compareVersion(
strict,
userVerArr,
latestVerArr
);
if (isUpToDate) {
break;
}
}
return isUpToDate;
};