WebClientInfo clientInfo = (WebClientInfo) WebSession.get().getClientInfo(); ClientProperties clientProperties = clientInfo.getProperties(); if (clientProperties.isBrowserInternetExplorer()) { ClientProperties props = extractIEVersion(clientProperties.getNavigatorUserAgent()); enableCodeMirror = clientProperties.getBrowserVersionMajor() >= 8 || props.getBrowserVersionMajor() >= 8; } else if (clientProperties.isBrowserMozillaFirefox()) { ClientProperties props = extractFirefoxVersion(clientProperties.getNavigatorUserAgent()); enableCodeMirror = clientProperties.getBrowserVersionMajor() >= 3 || props.getBrowserVersionMajor() >= 3; } else if (clientProperties.isBrowserSafari()) { ClientProperties props = extractSafariVersion(clientProperties.getNavigatorAppVersion()); enableCodeMirror = clientProperties.getBrowserVersionMajor() > 5 || (clientProperties.getBrowserVersionMajor() == 5 && clientProperties.getBrowserVersionMinor() >= 2) || props.getBrowserVersionMajor() > 5 || (props.getBrowserVersionMajor() == 5 && props.getBrowserVersionMinor() >= 2); } else if (clientProperties.isBrowserOpera()) { ClientProperties props = extractOperaVersion(clientProperties.getNavigatorAppVersion()); enableCodeMirror = clientProperties.getBrowserVersionMajor() >= 9 || props.getBrowserVersionMajor() >= 9;
public TimeZone getTimeZone() { final ClientProperties properties = getClientInfo().getProperties(); TimeZone timeZone = properties.getTimeZone(); if (timeZone == null) { timeZone = TimeZone.getDefault(); } return timeZone; } }
/** * sets the chrome specific properties */ private void setChromeProperties() { properties.setBrowserChrome(UserAgent.CHROME.matches(getUserAgent())); if (properties.isBrowserChrome()) { // e.g.: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/534.24 (KHTML, like Gecko) // Chrome/12.0.702.0 Safari/534.24 setMajorMinorVersionByPattern("chrome/(\\d+)\\.(\\d+)"); } }
private ClientProperties extractFirefoxVersion(String userAgent) { ClientProperties props = new ClientProperties(); props.setBrowserVersionMajor(-1); props.setBrowserVersionMinor(-1); if (userAgent != null) { String userAgencyLc = userAgent.toLowerCase(); props.setBrowserVersionMajor(-1); props.setBrowserVersionMinor(-1); setMajorMinorVersionByPattern(userAgencyLc, "firefox/(\\d+)\\.(\\d+)", props); } return props; }
private IModel<String> createBrowserShortcut(ClientProperties clientProperties) { String shortcut = ""; if (clientProperties.isBrowserInternetExplorer()) { if (clientProperties.getBrowserVersionMajor() < 9) { shortcut += " lt-ie9"; if (clientProperties.getBrowserVersionMajor() < 8) { shortcut += " lt-ie8"; if (clientProperties.getBrowserVersionMajor() < 7) { shortcut += " lt-ie7"; } } } } return Model.of(shortcut); }
private void setMajorMinorVersionByPattern( String userAgent, String patternString, ClientProperties properties) { Matcher matcher = Pattern.compile(patternString).matcher(userAgent); if (matcher.find()) { properties.setBrowserVersionMajor(Integer.parseInt(matcher.group(1))); properties.setBrowserVersionMinor(Integer.parseInt(matcher.group(2))); } }
properties.setBrowserOpera(true); properties.setBrowserKonqueror(true); properties.setBrowserSafari(true); properties.setBrowserMozilla(true); if (browserFireFox) properties.setBrowserMozillaFirefox(true); properties.setBrowserInternetExplorer(true); if (userAgent.indexOf("msie 6.") != -1) properties.setBrowserVersionMajor(majorVersion); properties.setBrowserVersionMinor(minorVersion); properties.setProprietaryIECssExpressionsSupported(true); properties.setQuirkCssPositioningOneSideOnly(true); properties.setQuirkIERepaint(true); properties.setQuirkIESelectZIndex(true); properties.setQuirkIETextareaNewlineObliteration(true); properties.setQuirkIESelectPercentWidth(true); properties.setQuirkIESelectListDomUpdate(true); properties.setQuirkIETablePercentWidthScrollbarError(true); properties.setQuirkCssBackgroundAttachmentUseFixed(true); properties.setQuirkCssBorderCollapseInside(true); properties.setQuirkCssBorderCollapseFor0Padding(true);
if (properties.isBrowserInternetExplorer()) { response.renderCSSReference(new ResourceReference(this.getClass(), "res/stylesheets/tag-ie.css")); } else if (properties.isBrowserSafari()) { response.renderCSSReference(new ResourceReference(this.getClass(), "res/stylesheets/tag-webkit.css")); } else {
public boolean isInternetExplorer() { return info.getProperties().isBrowserInternetExplorer(); }
private boolean isBrowserWarningVisible(Properties settings) { RequestCycle requestCycle = RequestCycle.get(); WebClientInfo clientInfo; if (Session.exists()) { WebSession session = WebSession.get(); clientInfo = session.getClientInfo(); } else { clientInfo = new WebClientInfo(requestCycle); } ClientProperties clientProperties = clientInfo.getProperties(); boolean isUsingUnsupportedBrowser = !clientProperties.isBrowserSafari() && !clientProperties.isBrowserChrome(); boolean ignoreWarning = "false".equalsIgnoreCase( settings.getProperty(SettingsUtil.CFG_WARNINGS_UNSUPPORTED_BROWSER)); return isUsingUnsupportedBrowser && !ignoreWarning; } }
/** * sets the ie specific properties */ private void setInternetExplorerProperties() { properties.setBrowserInternetExplorer(UserAgent.INTERNET_EXPLORER.matches(getUserAgent())); if (properties.isBrowserInternetExplorer()) { // modern IE browsers (>=IE11) uses new user agent format if (getUserAgentStringLc().contains("like gecko")) { setMajorMinorVersionByPattern("rv:(\\d+)\\.(\\d+)"); } else { setMajorMinorVersionByPattern("msie (\\d+)\\.(\\d+)"); } } }
public WicketBrowserInfo(WebClientInfo info) { this.info = info; major = info.getProperties().getBrowserVersionMajor(); minor = info.getProperties().getBrowserVersionMinor(); if (major == -1) { if (isFirefox()) { if (info.getProperties().isBrowserMozillaFirefox()) { setVersions(FIREFOX); } else if (info.getUserAgent().indexOf(SHIRETOKO) > -1) { setVersions(SHIRETOKO); } } else if (isChrome()) { setVersions(CHROME); } else if (isSafari() || isOpera()) { setVersions("Version"); } else if (isInternetExplorer()) { String ua = info.getUserAgent(); if (ua.indexOf(MSIE) > 0) { String v = ua.substring(ua.indexOf(MSIE)); parseMajorMinor(v.substring(5, v.indexOf(';'))); } } else if(isEdge()) { setVersions(EDGE); } } }
/** * sets the safari specific properties */ private void setSafariProperties() { properties.setBrowserSafari(UserAgent.SAFARI.matches(getUserAgent())); if (properties.isBrowserSafari()) { String userAgent = getUserAgentStringLc(); if (userAgent.contains("version/")) { // e.g.: Mozilla/5.0 (Windows; U; Windows NT 6.1; sv-SE) AppleWebKit/533.19 // (KHTML, like Gecko) Version/5.0.3 Safari/533.19.4 setMajorMinorVersionByPattern("version/(\\d+)\\.(\\d+)"); } } }
protected int getBrowserVersion() { return WebSession.get().getClientInfo().getProperties().getBrowserVersionMajor(); }
public boolean isSafari() { return info.getProperties().isBrowserSafari() && !isChrome(); }
public boolean isChrome() { return info.getProperties().isBrowserChrome(); }
properties.setBrowserOpera(true); properties.setBrowserKonqueror(true); properties.setBrowserSafari(true); properties.setBrowserChrome(true); properties.setBrowserMozilla(true); if (browserFireFox) properties.setBrowserMozillaFirefox(true); properties.setBrowserInternetExplorer(true); Matcher matcher = Pattern.compile("msie (\\d+)").matcher(userAgent); if (matcher.find()) properties.setBrowserVersionMajor(majorVersion); properties.setBrowserVersionMinor(minorVersion); properties.setProprietaryIECssExpressionsSupported(true); properties.setQuirkCssPositioningOneSideOnly(true); properties.setQuirkIERepaint(true); properties.setQuirkIESelectZIndex(true); properties.setQuirkIETextareaNewlineObliteration(true); properties.setQuirkIESelectPercentWidth(true); properties.setQuirkIESelectListDomUpdate(true); properties.setQuirkIETablePercentWidthScrollbarError(true);
/** * creates a browser shortcuts to identify old IE versions. * * @param clientProperties current client properties * @return a set of browser shortcuts */ private Set<String> createBrowserShortcut(final ClientProperties clientProperties) { Set<String> shortcut = new HashSet<>(); if (clientProperties.isBrowserInternetExplorer()) { if (clientProperties.getBrowserVersionMajor() < 9) { shortcut.add("lt-ie9"); if (clientProperties.getBrowserVersionMajor() < 8) { shortcut.add("lt-ie8"); if (clientProperties.getBrowserVersionMajor() < 7) { shortcut.add("lt-ie7"); } } } } return shortcut; }
"res/scripts/tag.js")); if (properties.isBrowserInternetExplorer()) else if (properties.isBrowserSafari())
protected boolean isBrowserInternetExplorer() { return WebSession.get().getClientInfo().getProperties().isBrowserInternetExplorer(); }