summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rwxr-xr-xbuild/ide.xml3
-rw-r--r--client/src/com/vaadin/client/communication/AtmospherePushConnection.java9
-rw-r--r--push/build.xml12
-rw-r--r--server/src/com/vaadin/server/BootstrapHandler.java11
-rw-r--r--shared/src/com/vaadin/shared/ApplicationConstants.java8
6 files changed, 36 insertions, 8 deletions
diff --git a/.gitignore b/.gitignore
index d5899b3d58..30c8597b16 100644
--- a/.gitignore
+++ b/.gitignore
@@ -45,6 +45,7 @@
/WebContent/VAADIN/gwt-unitCache*
WebContent/VAADIN/vaadinPush.js
+WebContent/VAADIN/vaadinPush.debug.js
# /WebContent/WEB-INF/
/WebContent/WEB-INF/classes
diff --git a/build/ide.xml b/build/ide.xml
index 1d1049026d..2605bf2cdd 100755
--- a/build/ide.xml
+++ b/build/ide.xml
@@ -134,6 +134,7 @@
</target>
<target name="vaadinPush.js">
<property name="vaadinPush.js.output" location="WebContent/VAADIN/vaadinPush.js" />
+ <property name="vaadinPush.debug.js.output" location="WebContent/VAADIN/vaadinPush.debug.js" />
<loadfile srcfile="WebContent/VAADIN/jquery-1.7.2.js" property="jquery.js.contents" />
<loadfile srcfile="WebContent/VAADIN/jquery.atmosphere.js" property="jquery.atmosphere.js.contents" />
@@ -146,5 +147,7 @@
</filterchain>
</loadfile>
<echo file="${vaadinPush.js.output}">${vaadinPush.js.contents}</echo>
+ <!-- This vaadinPush.js is not obfuscated so the debug version is the same-->
+ <copy file="${vaadinPush.js.output}" tofile="${vaadinPush.debug.js.output}"/>
</target>
</project>
diff --git a/client/src/com/vaadin/client/communication/AtmospherePushConnection.java b/client/src/com/vaadin/client/communication/AtmospherePushConnection.java
index 20ccd45173..3cecb09dc1 100644
--- a/client/src/com/vaadin/client/communication/AtmospherePushConnection.java
+++ b/client/src/com/vaadin/client/communication/AtmospherePushConnection.java
@@ -21,6 +21,7 @@ import java.util.ArrayList;
import com.google.gwt.core.client.JavaScriptObject;
import com.google.gwt.core.client.Scheduler;
import com.google.gwt.user.client.Command;
+import com.vaadin.client.ApplicationConfiguration;
import com.vaadin.client.ApplicationConnection;
import com.vaadin.client.ApplicationConnection.CommunicationErrorHandler;
import com.vaadin.client.ResourceLoader;
@@ -473,7 +474,13 @@ public class AtmospherePushConnection implements PushConnection {
if (isAtmosphereLoaded()) {
command.execute();
} else {
- final String pushJs = ApplicationConstants.VAADIN_PUSH_JS;
+ final String pushJs;
+ if (ApplicationConfiguration.isProductionMode()) {
+ pushJs = ApplicationConstants.VAADIN_PUSH_JS;
+ } else {
+ pushJs = ApplicationConstants.VAADIN_PUSH_DEBUG_JS;
+ }
+
VConsole.log("Loading " + pushJs);
ResourceLoader.get().loadScript(
connection.getConfiguration().getVaadinDirUrl() + pushJs,
diff --git a/push/build.xml b/push/build.xml
index 829411ea12..1cbe23d75b 100644
--- a/push/build.xml
+++ b/push/build.xml
@@ -11,6 +11,7 @@
<property name="module.symbolic" value="com.vaadin.push" />
<property name="result.dir" location="result" />
<property name="vaadinPush.js" location="${result.dir}/js/VAADIN/vaadinPush.js" />
+ <property name="vaadinPush.debug.js" location="${result.dir}/js/VAADIN/vaadinPush.debug.js" />
<!-- Keep the version number in sync with ivy.xml, server/src/com/vaadin/server/Constants.java and jquery.atmosphere.js -->
<property name="atmosphere.version" value="1.0.14.vaadin4" />
@@ -21,13 +22,12 @@
<union id="jar.includes">
<fileset dir="${result.dir}/js">
<include name="VAADIN/vaadinPush.js" />
+ <include name="VAADIN/vaadinPush.debug.js" />
</fileset>
</union>
<target name="vaadinPush.js">
<mkdir dir="${result.dir}/js/VAADIN" />
- <property name="vaadinPush.js.output" location="${result.dir}/js/VAADIN/vaadinPush.js" />
- <property name="vaadinPush.js.combined.output" location="${result.dir}/js/VAADIN/push.combined.js" />
<loadfile srcfile="${vaadin.basedir}/WebContent/VAADIN/jquery-${jquery.version}.js" property="jquery.js.contents" />
<loadfile srcfile="${vaadin.basedir}/WebContent/VAADIN/jquery.atmosphere.js" property="jquery.atmosphere.js.contents" />
@@ -39,15 +39,17 @@
</replacetokens>
</filterchain>
</loadfile>
- <echo file="${vaadinPush.js.combined.output}">${vaadinPush.js.contents}</echo>
+
+ <!-- Non-obfuscated version for debugging -->
+ <echo file="${vaadinPush.debug.js}">${vaadinPush.js.contents}</echo>
<!-- Minify -->
<ivy:retrieve organisation="com.yahoo.platform.yui" module="yuicompressor" revision="2.4.7" inline="true" type="jar" pattern="${result.dir}/compressor.jar" />
<java jar="${result.dir}/compressor.jar" fork="true">
<arg value="-v" />
<arg value="-o" />
- <arg file="${vaadinPush.js.output}" />
- <arg file="${vaadinPush.js.combined.output}" />
+ <arg file="${vaadinPush.js}" />
+ <arg file="${vaadinPush.debug.js}" />
</java>
</target>
diff --git a/server/src/com/vaadin/server/BootstrapHandler.java b/server/src/com/vaadin/server/BootstrapHandler.java
index b21fdb0b74..0a4949ffa7 100644
--- a/server/src/com/vaadin/server/BootstrapHandler.java
+++ b/server/src/com/vaadin/server/BootstrapHandler.java
@@ -388,9 +388,16 @@ public abstract class BootstrapHandler extends SynchronizedRequestHandler {
if (context.getPushMode().isEnabled()) {
// Load client-side dependencies for push support
+ String pushJS = vaadinLocation;
+ if (context.getRequest().getService().getDeploymentConfiguration()
+ .isProductionMode()) {
+ pushJS += ApplicationConstants.VAADIN_PUSH_JS;
+ } else {
+ pushJS += ApplicationConstants.VAADIN_PUSH_DEBUG_JS;
+ }
+
fragmentNodes.add(new Element(Tag.valueOf("script"), "").attr(
- "type", "text/javascript").attr("src",
- vaadinLocation + ApplicationConstants.VAADIN_PUSH_JS));
+ "type", "text/javascript").attr("src", pushJS));
}
String bootstrapLocation = vaadinLocation + "vaadinBootstrap.js";
diff --git a/shared/src/com/vaadin/shared/ApplicationConstants.java b/shared/src/com/vaadin/shared/ApplicationConstants.java
index d7de435735..104f3047a8 100644
--- a/shared/src/com/vaadin/shared/ApplicationConstants.java
+++ b/shared/src/com/vaadin/shared/ApplicationConstants.java
@@ -79,6 +79,14 @@ public class ApplicationConstants implements Serializable {
public static final String VAADIN_PUSH_JS = "vaadinPush.js";
/**
+ * The name of the debug version of the javascript containing push support.
+ * The file is located in the VAADIN directory.
+ *
+ * @since 7.1.6
+ */
+ public static final String VAADIN_PUSH_DEBUG_JS = "vaadinPush.debug.js";
+
+ /**
* Name of the parameter used to transmit the CSRF token.
*/
public static final String CSRF_TOKEN_PARAMETER = "v-csrfToken";