Cache Gecko version to lower CPU usage on FireFox Bug: #9644 Bug-Link: https://github.com/gwtproject/gwt/issues/9644 Change-Id: Ifdb57f5b18ced91a7b7a35b601d2a24fea1d068b
diff --git a/user/src/com/google/gwt/dom/client/DOMImplMozilla.java b/user/src/com/google/gwt/dom/client/DOMImplMozilla.java index d246e85..c582597 100644 --- a/user/src/com/google/gwt/dom/client/DOMImplMozilla.java +++ b/user/src/com/google/gwt/dom/client/DOMImplMozilla.java
@@ -20,7 +20,16 @@ */ class DOMImplMozilla extends DOMImplStandard { - private static native int getGeckoVersion() /*-{ + private static int cachedGeckoVersion = -2; + + private static int getGeckoVersion() { + if (cachedGeckoVersion == -2) { + cachedGeckoVersion = getNativeGeckoVersion(); + } + return cachedGeckoVersion; + } + + private static native int getNativeGeckoVersion() /*-{ var result = /rv:([0-9]+)\.([0-9]+)(\.([0-9]+))?.*?/.exec(navigator.userAgent.toLowerCase()); if (result && result.length >= 3) { var version = (parseInt(result[1]) * 1000000) + (parseInt(result[2]) * 1000) +