Github user martin-g commented on a diff in the pull request:

    https://github.com/apache/wicket/pull/258#discussion_r165631354
  
    --- Diff: 
wicket-core/src/main/java/org/apache/wicket/markup/head/filter/JavaScriptDeferHeaderResponse.java
 ---
    @@ -0,0 +1,141 @@
    +/*
    + * Licensed to the Apache Software Foundation (ASF) under one or more
    + * contributor license agreements.  See the NOTICE file distributed with
    + * this work for additional information regarding copyright ownership.
    + * The ASF licenses this file to You under the Apache License, Version 2.0
    + * (the "License"); you may not use this file except in compliance with
    + * the License.  You may obtain a copy of the License at
    + *
    + *      http://www.apache.org/licenses/LICENSE-2.0
    + *
    + * Unless required by applicable law or agreed to in writing, software
    + * distributed under the License is distributed on an "AS IS" BASIS,
    + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    + * See the License for the specific language governing permissions and
    + * limitations under the License.
    + */
    +package org.apache.wicket.markup.head.filter;
    +
    +import org.apache.wicket.core.util.string.JavaScriptUtils;
    +import org.apache.wicket.markup.head.AbstractJavaScriptReferenceHeaderItem;
    +import org.apache.wicket.markup.head.HeaderItem;
    +import org.apache.wicket.markup.head.IHeaderResponse;
    +import org.apache.wicket.markup.head.IWrappedHeaderItem;
    +import org.apache.wicket.markup.head.JavaScriptContentHeaderItem;
    +import org.apache.wicket.markup.head.JavaScriptHeaderItem;
    +import org.apache.wicket.markup.head.OnDomReadyHeaderItem;
    +import org.apache.wicket.markup.head.OnLoadHeaderItem;
    +import org.apache.wicket.markup.html.DecoratingHeaderResponse;
    +import org.apache.wicket.page.PartialPageUpdate;
    +import org.apache.wicket.request.Response;
    +import org.apache.wicket.util.string.Strings;
    +
    +/**
    + * A header response that 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.
    + * 
    + * @author svenmeier
    ++ */
    +public class JavaScriptDeferHeaderResponse extends DecoratingHeaderResponse
    +{
    +   /**
    +    * Decorate the given response.
    +    * 
    +    * @param response
    +    */
    +   public JavaScriptDeferHeaderResponse(IHeaderResponse response)
    +   {
    +           super(response);
    +   }
    +   
    +   @Override
    +   public void render(HeaderItem item)
    +   {
    +           if (item instanceof IWrappedHeaderItem) {
    --- End diff --
    
    Usually it is better to use `while` instead of `if` for such checks


---

Reply via email to