/* * Copyright (c) 2015 EMC Corporation * All Rights Reserved */ package util; import play.mvc.Http; import java.util.regex.Matcher; import java.util.regex.Pattern; public class BrowserUtil { public static final String USER_AGENT_HEADER = "user-agent"; public static final Pattern MSIE_PATTERN = Pattern.compile("MSIE ([0-9]{1,}[\\.0-9]{0,})"); public static boolean supportsCSSRotate() { double ieVersion = getIEVersion(); // Since this is only IE version comparison, double and float different will not be a factor here return ieVersion == -1.0 || ieVersion >= 10.0; // NOSONAR ("Suppressing Floating point numbers should not be tested for equality") } public static double getIEVersion() { Http.Request request = Http.Request.current(); if (request == null) { return -1.0; } Http.Header header = request.headers.get(USER_AGENT_HEADER); if (header == null) { return -1.0; } String userAgent = header.value(); Matcher matcher = MSIE_PATTERN.matcher(userAgent); if (matcher.find()) { return Double.parseDouble(matcher.group(1)); } return -1.0; } }