From: Artur Date: Tue, 9 May 2017 06:37:14 +0000 (+0300) Subject: Update ES6 detection logic to match what Polymer is using (#9268) X-Git-Tag: 8.1.0.alpha7~8 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=9e44fb6ef71ed45b7aa0e8b358785dd5719787df;p=vaadin-framework.git Update ES6 detection logic to match what Polymer is using (#9268) --- diff --git a/shared/src/main/java/com/vaadin/shared/VBrowserDetails.java b/shared/src/main/java/com/vaadin/shared/VBrowserDetails.java index 6933d32326..fdf9b5f723 100644 --- a/shared/src/main/java/com/vaadin/shared/VBrowserDetails.java +++ b/shared/src/main/java/com/vaadin/shared/VBrowserDetails.java @@ -611,21 +611,29 @@ public class VBrowserDetails implements Serializable { * @since 8.1 */ public boolean isEs6Supported() { - if (isTooOldToFunctionProperly()) { - return false; + // Safari 10+ + if (isSafari() && getBrowserMajorVersion() >= 10) { + return true; } - - // assumes evergreen browsers support ES6 - if (isChrome() || isFirefox() || isOpera() || isEdge()) { + // Firefox 51+ + if (isFirefox() && getBrowserMajorVersion() >= 51) { return true; } - - // Safari > 9 - if (isSafari() && getBrowserMajorVersion() > 9) { + // Opera 36+ + if (isOpera() && getBrowserMajorVersion() >= 36) { + return true; + } + // Chrome 49+ + if (isChrome() && getBrowserMajorVersion() >= 49) { + return true; + } + // Edge 15.15063+ + if (isEdge() && (getBrowserMajorVersion() > 15 + || (getBrowserMajorVersion() == 15 + && getBrowserMinorVersion() >= 15063))) { return true; } - // IE11 and Safari 9 return false; }