From fefcef6fb0e9937d7d3fb7da801acd46349cc59b Mon Sep 17 00:00:00 2001 From: Brendan Coles Date: Sun, 31 Jan 2016 20:09:45 +0000 Subject: [PATCH] Update support for Chrome --- core/main/client/browser.js | 102 ++++++++++++++++++++++++++++-------- 1 file changed, 79 insertions(+), 23 deletions(-) diff --git a/core/main/client/browser.js b/core/main/client/browser.js index 02749f335..206c7d985 100644 --- a/core/main/client/browser.js +++ b/core/main/client/browser.js @@ -1061,18 +1061,6 @@ beef.browser = { return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 45) ? true : false); }, - /** - * Returns true if Chrome 46. - * @example: beef.browser.isC46() - */ - isC46: function () { - return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 46) ? true : false); - }, - - isC47: function () { - return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 47) ? true : false); - }, - /** * Returns true if Chrome for iOS 45. * @example: beef.browser.isC45iOS() @@ -1081,12 +1069,60 @@ beef.browser = { return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 45) ? true : false); }, + /** + * Returns true if Chrome 46. + * @example: beef.browser.isC46() + */ + isC46: function () { + return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 46) ? true : false); + }, + + /** + * Returns true if Chrome for iOS 46. + * @example: beef.browser.isC46iOS() + */ + isC46iOS: function () { + return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 46) ? true : false); + }, + + /** + * Returns true if Chrome 47. + * @example: beef.browser.isC47() + */ + isC47: function () { + return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 47) ? true : false); + }, + + /** + * Returns true if Chrome for iOS 47. + * @example: beef.browser.isC47iOS() + */ + isC47iOS: function () { + return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 47) ? true : false); + }, + + /** + * Returns true if Chrome 48. + * @example: beef.browser.isC48() + */ + isC48: function () { + return (!!window.chrome && !!window.fetch && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 48) ? true : false); + }, + + /** + * Returns true if Chrome for iOS 48. + * @example: beef.browser.isC48iOS() + */ + isC48iOS: function () { + return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 48) ? true : false); + }, + /** * Returns true if Chrome. * @example: beef.browser.isC() */ isC: function () { - return this.isC5() || this.isC6() || this.isC7() || this.isC8() || this.isC9() || this.isC10() || this.isC11() || this.isC12() || this.isC13() || this.isC14() || this.isC15() || this.isC16() || this.isC17() || this.isC18() || this.isC19() || this.isC19iOS() || this.isC20() || this.isC20iOS() || this.isC21() || this.isC21iOS() || this.isC22() || this.isC22iOS() || this.isC23() || this.isC23iOS() || this.isC24() || this.isC24iOS() || this.isC25() || this.isC25iOS() || this.isC26() || this.isC26iOS() || this.isC27() || this.isC27iOS() || this.isC28() || this.isC28iOS() || this.isC29() || this.isC29iOS() || this.isC30() || this.isC30iOS() || this.isC31() || this.isC31iOS() || this.isC32() || this.isC32iOS() || this.isC33() || this.isC33iOS() || this.isC34() || this.isC34iOS() || this.isC35() || this.isC35iOS() || this.isC36() || this.isC36iOS() || this.isC37() || this.isC37iOS() || this.isC38() || this.isC38iOS() || this.isC39() || this.isC39iOS() || this.isC40() || this.isC40iOS() || this.isC41() || this.isC41iOS() || this.isC42() || this.isC42iOS() || this.isC43() || this.isC43iOS() || this.isC44() || this.isC44iOS() || this.isC45() || this.isC46() || this.isC47()|| this.isC45iOS(); + return this.isC5() || this.isC6() || this.isC7() || this.isC8() || this.isC9() || this.isC10() || this.isC11() || this.isC12() || this.isC13() || this.isC14() || this.isC15() || this.isC16() || this.isC17() || this.isC18() || this.isC19() || this.isC19iOS() || this.isC20() || this.isC20iOS() || this.isC21() || this.isC21iOS() || this.isC22() || this.isC22iOS() || this.isC23() || this.isC23iOS() || this.isC24() || this.isC24iOS() || this.isC25() || this.isC25iOS() || this.isC26() || this.isC26iOS() || this.isC27() || this.isC27iOS() || this.isC28() || this.isC28iOS() || this.isC29() || this.isC29iOS() || this.isC30() || this.isC30iOS() || this.isC31() || this.isC31iOS() || this.isC32() || this.isC32iOS() || this.isC33() || this.isC33iOS() || this.isC34() || this.isC34iOS() || this.isC35() || this.isC35iOS() || this.isC36() || this.isC36iOS() || this.isC37() || this.isC37iOS() || this.isC38() || this.isC38iOS() || this.isC39() || this.isC39iOS() || this.isC40() || this.isC40iOS() || this.isC41() || this.isC41iOS() || this.isC42() || this.isC42iOS() || this.isC43() || this.isC43iOS() || this.isC44() || this.isC44iOS() || this.isC45() || this.isC45iOS() || this.isC46() || this.isC46iOS() || this.isC47() || this.isC47iOS() || this.isC48() || this.isC48iOS(); }, /** @@ -1226,9 +1262,13 @@ beef.browser = { C44: this.isC44(), // Chrome 44 C44iOS: this.isC44iOS(), // Chrome 44 on iOS C45: this.isC45(), // Chrome 45 - C46: this.isC46(), // Chrome 46 - C47: this.isC47(), // Chrome 46 C45iOS: this.isC45iOS(), // Chrome 45 on iOS + C46: this.isC46(), // Chrome 46 + C46iOS: this.isC46iOS(), // Chrome 46 on iOS + C47: this.isC47(), // Chrome 47 + C47iOS: this.isC47iOS(), // Chrome 47 on iOS + C48: this.isC48(), // Chrome 48 + C48iOS: this.isC48iOS(), // Chrome 48 on iOS C: this.isC(), // Chrome any version @@ -1579,18 +1619,34 @@ beef.browser = { return '45' } ; // Chrome 45 - if (this.isC46()) { - return '46' - } - ;// Chrome 46 - if (this.isC47()) { - return '47' - } - ;// Chrome 47 if (this.isC45iOS()) { return '45' } ; // Chrome 45 for iOS + if (this.isC46()) { + return '46' + } + ;// Chrome 46 + if (this.isC46iOS()) { + return '46' + } + ; // Chrome 46 for iOS + if (this.isC47()) { + return '47' + } + ;// Chrome 47 + if (this.isC47iOS()) { + return '47' + } + ; // Chrome 47 for iOS + if (this.isC48()) { + return '48' + } + ;// Chrome 48 + if (this.isC48iOS()) { + return '48' + } + ; // Chrome 48 for iOS if (this.isFF2()) { return '2'