From 99035ecfbf33603ddbbe445b8980c67b96e8b0b1 Mon Sep 17 00:00:00 2001 From: Adam Wagner Date: Wed, 10 Jan 2018 11:40:42 +0200 Subject: Recognise Firefox and its version on iOS (#10466) Fixes #9592 --- shared/src/main/java/com/vaadin/shared/VBrowserDetails.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'shared/src') diff --git a/shared/src/main/java/com/vaadin/shared/VBrowserDetails.java b/shared/src/main/java/com/vaadin/shared/VBrowserDetails.java index e226751b64..b33e82c1a3 100644 --- a/shared/src/main/java/com/vaadin/shared/VBrowserDetails.java +++ b/shared/src/main/java/com/vaadin/shared/VBrowserDetails.java @@ -90,9 +90,10 @@ public class VBrowserDetails implements Serializable { isIE = isIE || isTrident; isPhantomJS = userAgent.indexOf("phantomjs/") != -1; - isSafari = !isChrome && !isIE && !isPhantomJS + isFirefox = userAgent.indexOf(" firefox/") != -1 + || userAgent.indexOf("fxios/") != -1; + isSafari = !isChrome && !isIE && !isPhantomJS && !isFirefox && userAgent.indexOf("safari") != -1; - isFirefox = userAgent.indexOf(" firefox/") != -1; if (userAgent.indexOf(" edge/") != -1) { isEdge = true; isChrome = false; @@ -163,7 +164,12 @@ public class VBrowserDetails implements Serializable { parseVersionString(ieVersionString); } } else if (isFirefox) { - int i = userAgent.indexOf(" firefox/") + 9; + int i = userAgent.indexOf(" firefox/"); + if (i != -1) { + i += " firefox/".length(); + } else { + i = userAgent.indexOf(" fxios/") + " fxios/".length(); + } parseVersionString(safeSubstring(userAgent, i, i + 5)); } else if (isChrome) { int i = userAgent.indexOf(" chrome/"); -- cgit v1.2.3