diff options
author | Matti Tahvonen <matti.tahvonen@itmill.com> | 2011-04-21 16:52:25 +0000 |
---|---|---|
committer | Matti Tahvonen <matti.tahvonen@itmill.com> | 2011-04-21 16:52:25 +0000 |
commit | 247d994f155d4933cd7935e6b880233ae9de6aea (patch) | |
tree | e26ae43dffbf7333f80cf1cd2f398641db163de5 /src | |
parent | 3a76c0b8037d6049a1535941b97278c99af135e3 (diff) | |
download | vaadin-framework-247d994f155d4933cd7935e6b880233ae9de6aea.tar.gz vaadin-framework-247d994f155d4933cd7935e6b880233ae9de6aea.zip |
helper to detect touch based devices, related to #6873, #6874, #6875
svn changeset:18435/svn branch:6.6
Diffstat (limited to 'src')
-rw-r--r-- | src/com/vaadin/terminal/gwt/client/BrowserInfo.java | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/com/vaadin/terminal/gwt/client/BrowserInfo.java b/src/com/vaadin/terminal/gwt/client/BrowserInfo.java index 8c80f1f530..5b6c1f8d0b 100644 --- a/src/com/vaadin/terminal/gwt/client/BrowserInfo.java +++ b/src/com/vaadin/terminal/gwt/client/BrowserInfo.java @@ -52,6 +52,7 @@ public class BrowserInfo { } private VBrowserDetails browserDetails; + private boolean touchDevice; private BrowserInfo() { browserDetails = new VBrowserDetails(getBrowserString()); @@ -63,8 +64,14 @@ public class BrowserInfo { browserDetails.setIEMode(documentMode); } } + touchDevice = detectTouchDevice(); } + private native boolean detectTouchDevice() + /*-{ + try { document.createEvent("TouchEvent");return true;} catch(e){return false;}; + }-*/; + private native int getIEDocumentMode() /*-{ var mode = $wnd.document.documentMode; @@ -337,4 +344,11 @@ public class BrowserInfo { }-*/; + /** + * @return true if the browser runs on a touch based device. + */ + public boolean isTouchDevice() { + return touchDevice; + } + } |