You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by sv...@apache.org on 2015/04/24 12:13:40 UTC

[4/4] wicket git commit: WICKET-5892 ClientProperties#isJavaScriptEnabled()

WICKET-5892 ClientProperties#isJavaScriptEnabled()


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/ca8aba72
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/ca8aba72
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/ca8aba72

Branch: refs/heads/master
Commit: ca8aba7246e8d0944d96de6a78d619f613343981
Parents: b4aec3a
Author: Sven Meier <sv...@apache.org>
Authored: Fri Apr 24 12:09:01 2015 +0200
Committer: Sven Meier <sv...@apache.org>
Committed: Fri Apr 24 12:09:01 2015 +0200

----------------------------------------------------------------------
 .../wicket/ajax/AjaxClientInfoBehavior.java     |  2 ++
 .../markup/html/pages/BrowserInfoForm.java      |  6 ++--
 .../markup/html/pages/BrowserInfoPage.java      | 30 +++++++++++---------
 .../wicket/protocol/http/ClientProperties.java  | 19 +++++++++++++
 4 files changed, 41 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/ca8aba72/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxClientInfoBehavior.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxClientInfoBehavior.java b/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxClientInfoBehavior.java
index cbe18fc..a2fc41a 100644
--- a/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxClientInfoBehavior.java
+++ b/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxClientInfoBehavior.java
@@ -84,6 +84,8 @@ public class AjaxClientInfoBehavior extends AbstractAjaxTimerBehavior
 		Session.get().setClientInfo(clientInfo);
 
 		ClientProperties properties = clientInfo.getProperties();
+		properties.setJavaScriptEnabled(true);
+
 		properties.setNavigatorAppCodeName(navigatorAppCodeName);
 		properties.setNavigatorAppName(navigatorAppName);
 		properties.setNavigatorAppVersion(navigatorAppVersion);

http://git-wip-us.apache.org/repos/asf/wicket/blob/ca8aba72/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoForm.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoForm.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoForm.java
index b1852d0..8164c1b 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoForm.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoForm.java
@@ -22,7 +22,7 @@ import org.apache.wicket.markup.head.IHeaderResponse;
 import org.apache.wicket.markup.head.JavaScriptHeaderItem;
 import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.markup.html.form.TextField;
-import org.apache.wicket.markup.html.panel.Panel;
+import org.apache.wicket.markup.html.panel.GenericPanel;
 import org.apache.wicket.model.CompoundPropertyModel;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.protocol.http.ClientProperties;
@@ -32,7 +32,7 @@ import org.apache.wicket.request.resource.ResourceReference;
 /**
  * Form for posting JavaScript properties.
  */
-public class BrowserInfoForm extends Panel
+public class BrowserInfoForm extends GenericPanel<ClientProperties>
 {
 	private static final long serialVersionUID = 1L;
 	
@@ -51,7 +51,7 @@ public class BrowserInfoForm extends Panel
 	 */
 	public BrowserInfoForm(String id, IModel<ClientProperties> properties)
 	{
-		super(id);
+		super(id, properties);
 
 		this.form = createForm("postback", properties);
 		form.setOutputMarkupId(true);

http://git-wip-us.apache.org/repos/asf/wicket/blob/ca8aba72/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java
index c089f89..6b63972 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java
@@ -77,7 +77,16 @@ public class BrowserInfoPage extends WebPage
 	 */
 	private void initComps()
 	{
-		final ContinueLink link = new ContinueLink("link");
+		IModel<ClientProperties> properties = new AbstractReadOnlyModel<ClientProperties>()
+		{
+			@Override
+			public ClientProperties getObject()
+			{
+				return WebSession.get().getClientInfo().getProperties();
+			}
+		};
+
+		final ContinueLink link = new ContinueLink("link", properties);
 		add(link);
 
 		WebComponent meta = new WebComponent("meta");
@@ -93,15 +102,6 @@ public class BrowserInfoPage extends WebPage
 		}));
 		add(meta);
 
-		IModel<ClientProperties> properties = new AbstractReadOnlyModel<ClientProperties>()
-		{
-			@Override
-			public ClientProperties getObject()
-			{
-				return WebSession.get().getClientInfo().getProperties();
-			}
-		};
-
 		browserInfoForm = new BrowserInfoForm("postback", properties)
 		{
 			private static final long serialVersionUID = 1L;
@@ -109,16 +109,18 @@ public class BrowserInfoPage extends WebPage
 			@Override
 			protected void afterSubmit()
 			{
+				getModelObject().setJavaScriptEnabled(true);
+
 				continueToOriginalDestination();
 			}
 		};
 		add(browserInfoForm);
 	}
 	
-	private class ContinueLink extends Link<Void> {
-		public ContinueLink(String id)
+	private class ContinueLink extends Link<ClientProperties> {
+		public ContinueLink(String id, IModel<ClientProperties> properties)
 		{
-			super(id);
+			super(id, properties);
 		}
 
 		@Override
@@ -130,6 +132,8 @@ public class BrowserInfoPage extends WebPage
 		@Override
 		public void onClick()
 		{
+			getModelObject().setJavaScriptEnabled(false);
+
 			continueToOriginalDestination();
 		}
 	};

http://git-wip-us.apache.org/repos/asf/wicket/blob/ca8aba72/wicket-core/src/main/java/org/apache/wicket/protocol/http/ClientProperties.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/protocol/http/ClientProperties.java b/wicket-core/src/main/java/org/apache/wicket/protocol/http/ClientProperties.java
index 3153e32..f8bb40b 100644
--- a/wicket-core/src/main/java/org/apache/wicket/protocol/http/ClientProperties.java
+++ b/wicket-core/src/main/java/org/apache/wicket/protocol/http/ClientProperties.java
@@ -85,6 +85,8 @@ public class ClientProperties implements IClusterable
 
 	private String hostname;
 
+	private boolean javaScriptEnabled;
+
 	/**
 	 * @return The browser height at the time it was measured
 	 */
@@ -352,6 +354,15 @@ public class ClientProperties implements IClusterable
 	}
 
 	/**
+	 * Flag indicating support of JavaScript in the browser.
+	 * 
+	 * @return True if JavaScript is enabled
+	 */
+	public boolean isJavaScriptEnabled() {
+		return javaScriptEnabled;
+	}
+
+	/**
 	 * Flag indicating that the browser is a derivative of the Microsoft Internet Explorer browser
 	 * platform.
 	 * 
@@ -722,6 +733,14 @@ public class ClientProperties implements IClusterable
 		this.utcOffset = utcOffset;
 	}
 
+	/**
+	 * @param javaScriptEnabled
+	 *            is JavaScript supported in the browser
+	 */
+	public void setJavaScriptEnabled(boolean javaScriptEnabled) {
+		this.javaScriptEnabled = javaScriptEnabled;
+	}
+
 	@Override
 	public String toString()
 	{