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 2018/02/02 18:12:32 UTC
wicket git commit: WICKET-6498 unwrap recursively
Repository: wicket
Updated Branches:
refs/heads/master 273d479fa -> 634fd247d
WICKET-6498 unwrap recursively
use inner static classes, added details to javadoc
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/634fd247
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/634fd247
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/634fd247
Branch: refs/heads/master
Commit: 634fd247d8c2b0d3cfa01e4679d34fb256191c5f
Parents: 273d479
Author: Sven Meier <sv...@apache.org>
Authored: Fri Feb 2 19:12:03 2018 +0100
Committer: Sven Meier <sv...@apache.org>
Committed: Fri Feb 2 19:12:03 2018 +0100
----------------------------------------------------------------------
.../head/filter/JavaScriptDeferHeaderResponse.java | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/634fd247/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/JavaScriptDeferHeaderResponse.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/JavaScriptDeferHeaderResponse.java b/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/JavaScriptDeferHeaderResponse.java
index 1a5da3f..c00519f 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/JavaScriptDeferHeaderResponse.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/JavaScriptDeferHeaderResponse.java
@@ -31,11 +31,17 @@ import org.apache.wicket.request.Response;
import org.apache.wicket.util.string.Strings;
/**
- * A header response that defers all {@link AbstractJavaScriptReferenceHeaderItem}s.
+ * A header response which defers all {@link AbstractJavaScriptReferenceHeaderItem}s.
* <p>
* To prevent any error because of possible dependencies to referenced JavaScript files
* *all* {@link JavaScriptHeaderItem}s are replaced with suitable implementations that
- * delay any execution until {@link AbstractJavaScriptReferenceHeaderItem}s have been loaded.
+ * delay any execution until all deferred {@link AbstractJavaScriptReferenceHeaderItem}s
+ * have been loaded.
+ * <p>
+ * Note: This solution depends on the execution order of JavaScript in the browser:
+ * The 'DOMContentLoaded' event has to be fired <me>after</em> all deferred JavaScript
+ * resources have been loaded. This doesn't seem to be the case in all browsers, thus
+ * this class should be considered experimental.
*
* @author svenmeier
+ */
@@ -54,7 +60,7 @@ public class JavaScriptDeferHeaderResponse extends DecoratingHeaderResponse
@Override
public void render(HeaderItem item)
{
- if (item instanceof IWrappedHeaderItem) {
+ while (item instanceof IWrappedHeaderItem) {
item = ((IWrappedHeaderItem)item).getWrapped();
}
@@ -77,7 +83,7 @@ public class JavaScriptDeferHeaderResponse extends DecoratingHeaderResponse
* For Ajax requests we utilize the fact, that {@link PartialPageUpdate} renders {@link #getJavaScript()} only,
* thus executing the JavaScript directly without any event registration.
*/
- private class NativeOnDomContentLoadedHeaderItem extends OnDomReadyHeaderItem
+ private static class NativeOnDomContentLoadedHeaderItem extends OnDomReadyHeaderItem
{
private static final long serialVersionUID = 1L;
@@ -111,7 +117,7 @@ public class JavaScriptDeferHeaderResponse extends DecoratingHeaderResponse
* For Ajax requests we utilize the fact, that {@link PartialPageUpdate} renders {@link #getJavaScript()} only,
* thus executing the JavaScript directly without any event registration.
*/
- private class NativeOnLoadHeaderItem extends OnLoadHeaderItem
+ private static class NativeOnLoadHeaderItem extends OnLoadHeaderItem
{
private static final long serialVersionUID = 1L;