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()
{