]> source.dussan.org Git - vaadin-framework.git/commitdiff
fixes #5092, 6.4 branch now supports GWT 2.1 MS 1
authorMatti Tahvonen <matti.tahvonen@itmill.com>
Tue, 1 Jun 2010 08:24:10 +0000 (08:24 +0000)
committerMatti Tahvonen <matti.tahvonen@itmill.com>
Tue, 1 Jun 2010 08:24:10 +0000 (08:24 +0000)
svn changeset:13455/svn branch:6.4

src/com/vaadin/terminal/gwt/client/ApplicationConnection.java
src/com/vaadin/terminal/gwt/client/SynchronousXHR.java [new file with mode: 0644]

index 619404a065e36584d584810e82dcc521b66030b5..9d649bcd993ae8b2d427169da19087e2f9a61d69 100755 (executable)
@@ -12,7 +12,6 @@ import java.util.Iterator;
 import java.util.Map;
 import java.util.Set;
 
-import com.google.gwt.core.client.GWT;
 import com.google.gwt.core.client.JavaScriptObject;
 import com.google.gwt.core.client.JsArray;
 import com.google.gwt.core.client.JsArrayString;
@@ -29,7 +28,6 @@ import com.google.gwt.user.client.Event;
 import com.google.gwt.user.client.History;
 import com.google.gwt.user.client.Timer;
 import com.google.gwt.user.client.Window;
-import com.google.gwt.user.client.impl.HTTPRequestImpl;
 import com.google.gwt.user.client.ui.FocusWidget;
 import com.google.gwt.user.client.ui.HasWidgets;
 import com.google.gwt.user.client.ui.Widget;
@@ -483,11 +481,9 @@ public class ApplicationConnection {
                 endRequest();
             }
         } else {
-            // Synchronized call, discarded response
-
-            syncSendForce(((HTTPRequestImpl) GWT.create(HTTPRequestImpl.class))
-                    .createXmlHTTPRequest(), uri + "&" + PARAM_UNLOADBURST
-                    + "=1", rd);
+            // Synchronized call, discarded response (leaving the page)
+            SynchronousXHR syncXHR = (SynchronousXHR) SynchronousXHR.create();
+            syncXHR.synchronousPost(uri + "&" + PARAM_UNLOADBURST + "=1", rd);
         }
     }
 
@@ -521,19 +517,6 @@ public class ApplicationConnection {
         }
     }
 
-    private native void syncSendForce(JavaScriptObject xmlHttpRequest,
-            String uri, String requestData)
-    /*-{
-        try {
-            xmlHttpRequest.open("POST", uri, false);
-            xmlHttpRequest.setRequestHeader("Content-Type", "text/plain;charset=utf-8");
-            xmlHttpRequest.send(requestData);
-        } catch (e) {
-           // No errors are managed as this is synchronous forceful send that can just fail
-        }
-        this.@com.vaadin.terminal.gwt.client.ApplicationConnection::endRequest()();
-    }-*/;
-
     private void startRequest() {
         activeRequests++;
         requestStartTime = new Date();
diff --git a/src/com/vaadin/terminal/gwt/client/SynchronousXHR.java b/src/com/vaadin/terminal/gwt/client/SynchronousXHR.java
new file mode 100644 (file)
index 0000000..991b256
--- /dev/null
@@ -0,0 +1,21 @@
+package com.vaadin.terminal.gwt.client;
+
+import com.google.gwt.xhr.client.XMLHttpRequest;
+
+public class SynchronousXHR extends XMLHttpRequest {
+
+    protected SynchronousXHR() {
+    }
+
+    public native final void synchronousPost(String uri, String requestData)
+    /*-{
+        try {
+            this.open("POST", uri, false);
+            this.setRequestHeader("Content-Type", "text/plain;charset=utf-8");
+            this.send(requestData);
+        } catch (e) {
+           // No errors are managed as this is synchronous forceful send that can just fail
+        }
+    }-*/;
+
+}