aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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;
+ }
+
}