From 8033b77b73e2444b539fae64e1a15fcd84f80280 Mon Sep 17 00:00:00 2001 From: Christian Frichot Date: Sun, 6 Oct 2013 17:20:01 +0800 Subject: [PATCH] Support for Chrome version 30 in browser detection --- core/main/client/browser.js | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/core/main/client/browser.js b/core/main/client/browser.js index b783619a5..69ad44975 100644 --- a/core/main/client/browser.js +++ b/core/main/client/browser.js @@ -612,12 +612,28 @@ beef.browser = { return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 29) ? true : false); }, + /** + * Returns true if Chrome 30. + * @example: beef.browser.isC30() + */ + isC30:function () { + return (!!window.chrome && !window.webkitPerformance && window.navigator.appVersion.match(/Chrome\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/Chrome\/(\d+)\./)[1], 10) == 30) ? true : false); + }, + + /** + * Returns true if Chrome for iOS 30. + * @example: beef.browser.isC30iOS() + */ + isC30iOS:function () { + return (!window.webkitPerformance && window.navigator.appVersion.match(/CriOS\/(\d+)\./)) && ((parseInt(window.navigator.appVersion.match(/CriOS\/(\d+)\./)[1], 10) == 30) ? 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(); + 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(); }, /** @@ -713,6 +729,8 @@ beef.browser = { C28iOS:this.isC28iOS(), // Chrome 28 on iOS C29:this.isC29(), // Chrome 29 C29iOS:this.isC29iOS(), // Chrome 29 on iOS + C30:this.isC30(), // Chrome 30 + C30iOS:this.isC30iOS(), // Chrome 30 on iOS C:this.isC(), // Chrome any version FF2:this.isFF2(), // Firefox 2 @@ -915,6 +933,14 @@ beef.browser = { return '29' } ; // Chrome 29 for iOS + if (this.isC30()) { + return '30' + } + ; // Chrome 30 + if (this.isC30iOS()) { + return '30' + } + ; // Chrome 30 for iOS if (this.isFF2()) { return '2' }