summaryrefslogtreecommitdiff
path: root/program/js
diff options
context:
space:
mode:
authorAleksander Machniak <alec@alec.pl>2014-02-03 13:27:36 +0100
committerAleksander Machniak <alec@alec.pl>2014-02-03 13:29:25 +0100
commitbd3f5745f06e3d153431776fe279d8534823403a (patch)
tree537cf46624fe54fbd020cd39d75a8b031657ad68 /program/js
parent59373ce9cddecf13c894387154b3077530e3afa9 (diff)
Fixed Opera > 15 detection (#1489562)
Conflicts: tests/Framework/Browser.php
Diffstat (limited to 'program/js')
-rw-r--r--program/js/common.js13
1 files changed, 8 insertions, 5 deletions
diff --git a/program/js/common.js b/program/js/common.js
index d320d86ec..722eb3f60 100644
--- a/program/js/common.js
+++ b/program/js/common.js
@@ -49,6 +49,7 @@ function roundcube_browser()
this.dom = document.getElementById ? true : false;
this.dom2 = document.addEventListener && document.removeEventListener;
+ this.webkit = this.agent_lc.indexOf('applewebkit') > 0;
this.ie = (document.all && !window.opera) || (this.win && this.agent_lc.indexOf('trident/') > 0);
if (this.ie) {
@@ -57,20 +58,22 @@ function roundcube_browser()
this.ie8 = this.appver.indexOf('MSIE 8') > 0;
this.ie9 = this.appver.indexOf('MSIE 9') > 0;
}
+ else if (window.opera) {
+ this.opera = true;
+ this.vendver = opera.version();
+ }
else {
this.chrome = this.agent_lc.indexOf('chrome') > 0;
- this.safari = !this.chrome && (this.agent_lc.indexOf('safari') > 0 || this.agent_lc.indexOf('applewebkit') > 0);
+ this.safari = !this.chrome && (this.webkit || this.agent_lc.indexOf('safari') > 0);
this.konq = this.agent_lc.indexOf('konqueror') > 0;
this.mz = this.dom && !this.chrome && !this.safari && !this.konq && this.agent.indexOf('Mozilla') >= 0;
this.iphone = this.safari && (this.agent_lc.indexOf('iphone') > 0 || this.agent_lc.indexOf('ipod') > 0);
this.ipad = this.safari && this.agent_lc.indexOf('ipad') > 0;
- this.opera = window.opera ? true : false;
- this.webkit = this.safari || this.chrome;
}
if (!this.vendver) {
// common version strings
- this.vendver = /(khtml|chrome|safari|applewebkit|opera|msie)(\s|\/)([0-9\.]+)/.test(this.agent_lc) ? parseFloat(RegExp.$3) : 0;
+ this.vendver = /(opera|opr|khtml|chrome|safari|applewebkit|msie)(\s|\/)([0-9\.]+)/.test(this.agent_lc) ? parseFloat(RegExp.$3) : 0;
// any other (Mozilla, Camino, IE>=11)
if (!this.vendver)
@@ -117,7 +120,7 @@ function roundcube_browser()
classname += ' iphone';
else if (this.ipad)
classname += ' ipad';
- else if (this.safari || this.chrome)
+ else if (this.webkit)
classname += ' webkit';
if (this.mobile)