Browse Source

Use non-obfuscated version of vaadinPush.js when not in production (#12527)

Change-Id: I8e0baec2391b140e6a72eedf6606fd2792c735bc
tags/7.1.7
Artur Signell 10 years ago
parent
commit
e4d99b3631

+ 1
- 0
.gitignore View File

@@ -45,6 +45,7 @@
/WebContent/VAADIN/gwt-unitCache*

WebContent/VAADIN/vaadinPush.js
WebContent/VAADIN/vaadinPush.debug.js

# /WebContent/WEB-INF/
/WebContent/WEB-INF/classes

+ 3
- 0
build/ide.xml View File

@@ -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>

+ 8
- 1
client/src/com/vaadin/client/communication/AtmospherePushConnection.java View File

@@ -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,

+ 7
- 5
push/build.xml View File

@@ -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>


+ 9
- 2
server/src/com/vaadin/server/BootstrapHandler.java View File

@@ -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";

+ 8
- 0
shared/src/com/vaadin/shared/ApplicationConstants.java View File

@@ -78,6 +78,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.
*/

Loading…
Cancel
Save