aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMatti Tahvonen <matti.tahvonen@itmill.com>2011-04-21 16:52:25 +0000
committerMatti Tahvonen <matti.tahvonen@itmill.com>2011-04-21 16:52:25 +0000
commit247d994f155d4933cd7935e6b880233ae9de6aea (patch)
treee26ae43dffbf7333f80cf1cd2f398641db163de5 /src
parent3a76c0b8037d6049a1535941b97278c99af135e3 (diff)
downloadvaadin-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.java14
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;
+ }
+
}