From: Matti Tahvonen Date: Tue, 16 Mar 2010 15:08:15 +0000 (+0000) Subject: cross plat improvementes for html5 drags X-Git-Tag: 6.7.0.beta1~1911 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=d5dcef52a2a62150c98970bba60af050342a7709;p=vaadin-framework.git cross plat improvementes for html5 drags svn changeset:11917/svn branch:6.3 --- diff --git a/src/com/vaadin/terminal/gwt/client/ui/VDragAndDropWrapper.java b/src/com/vaadin/terminal/gwt/client/ui/VDragAndDropWrapper.java index e35eec9799..6e076ff255 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/VDragAndDropWrapper.java +++ b/src/com/vaadin/terminal/gwt/client/ui/VDragAndDropWrapper.java @@ -204,8 +204,7 @@ public class VDragAndDropWrapper extends VCustomComponent implements for (int i = 0; i < types.length(); i++) { String type = types.get(i); ApplicationConnection.getConsole().log("Type: " + type); - if ("Text".equals(type) || "Url".equals(type) - || "text/html".equals(type)) { + if (isAcceptedType(type)) { String data = event.getDataAsText(type); if (data != null) { ApplicationConnection.getConsole().log(type + " : " + data); @@ -240,6 +239,18 @@ public class VDragAndDropWrapper extends VCustomComponent implements return false; } + protected String[] acceptedTypes = new String[] { "Text", "Url", + "text/html", "text/plain", "text/rtf" }; + + private boolean isAcceptedType(String type) { + for (String t : acceptedTypes) { + if (t.equals(type)) { + return true; + } + } + return false; + } + static class ExtendedXHR extends XMLHttpRequest { protected ExtendedXHR() { diff --git a/tests/src/com/vaadin/tests/dd/DragDropPane.java b/tests/src/com/vaadin/tests/dd/DragDropPane.java index 82401a99f7..cd7a372d2e 100644 --- a/tests/src/com/vaadin/tests/dd/DragDropPane.java +++ b/tests/src/com/vaadin/tests/dd/DragDropPane.java @@ -114,12 +114,18 @@ public class DragDropPane extends DragAndDropWrapper implements DropHandler { WrapperTransferable wtr = (WrapperTransferable) ctr; String object = (String) ctr.getData("Text"); + if (object == null) { + object = (String) ctr.getData("text/plain"); + } String html = (String) ctr.getData("Html"); String url = (String) ctr.getData("Url"); final Label l = new Label(); l.setCaption("Generated from HTML5 drag:"); if (object != null) { + if (object.length() > 80) { + object = object.substring(0, 79); + } l.setValue(object); } else { l.setValue("HTML5 dd");