@atlaskit/editor-common
Version:
A package that contains common classes and components for editor and renderer
44 lines (41 loc) • 1.62 kB
JavaScript
export var isOutdatedBrowser = function isOutdatedBrowser(userAgent) {
// Take browsers in both Desktop and Mobile (includes Chrome, Firefox, Edge and Safari) within last 2 years
// Ignored via go/ees005
// eslint-disable-next-line require-unicode-regexp
// Ignored via go/ees005
// eslint-disable-next-line require-unicode-regexp
var chrome = /Chrome\//.test(userAgent) && !/OPR\//.test(userAgent);
// Ignored via go/ees005
// eslint-disable-next-line require-unicode-regexp
var chromeVersion = chrome ? parseInt((userAgent.match(/Chrome\/(\d+)/) || [])[1], 10) : 0;
if (chromeVersion >= 84) {
return false;
}
// Ignored via go/ees005
// eslint-disable-next-line require-unicode-regexp
var gecko = /gecko\/\d/i.test(userAgent);
// Ignored via go/ees005
// eslint-disable-next-line require-unicode-regexp
var geckoVersion = gecko ? parseInt((userAgent.match(/Firefox\/(\d+)/) || [])[1], 10) : 0;
if (geckoVersion >= 84) {
return false;
}
// Ignored via go/ees005
// eslint-disable-next-line require-unicode-regexp
var edge = /Edge\/(\d+)/.exec(userAgent);
var edgeVersion = edge ? +edge[1] : 0;
if (edgeVersion >= 84) {
return false;
}
// Ignored via go/ees005
// eslint-disable-next-line require-unicode-regexp
var safari = !chrome && !gecko && /Version\/([0-9\._]+).*Safari/.test(userAgent);
var safariVersion = safari ?
// Ignored via go/ees005
// eslint-disable-next-line require-unicode-regexp
parseInt((userAgent.match(/Version\/([0-9\._]+).*Safari/) || [])[1], 10) : 0;
if (safariVersion >= 12) {
return false;
}
return true;
};