0 Replies Latest reply on Jan 22, 2016 11:57 AM by betxaburu

    Bug inTemplateUtil and GWT DOMImpl in Errai App


      After hours of GWT and Errai code debugging I've found what I think it is a Bug in the code.


      I was trying to use ListWidget to create and paint <TR> like items... and trying to find out what fails in this kind of code, I arrived to TemplateUtil class where in the method:


        private static Element firstNonMetaElement(final Element parserDiv) {
          Element displayable = parserDiv.getFirstChildElement();
          while (displayable != null && displayable.getTagName().equalsIgnoreCase("meta")) {
            displayable = displayable.getNextSiblingElement();
          return displayable;


      We are using the Element objects "getFirstChildElement" method which has this code:


        * The first child of element this element. If there is no such element, this
        * returns null.
        public final Element getFirstChildElement() {
          return DOMImpl.impl.getFirstChildElement(this);


      And finally uses this native method:


        public native Element getFirstChildElement(Element elem) /*-{
          var child = elem.firstChild;
          while (child && child.nodeType != 1)
            child = child.nextSibling;
          return child;



      What I see in this method is that the code is using firstChild which is not a Element type object... It is a Text Object.


      So if what I think it's true child.nodeType will never return a 1... cause never is going to be a Element type object. It will retun a 3 and will keep looking for "siblings" till child is null.


      This way it is not returning the firstChildElement to the TemplateUtil making it fail.



      This is a resume of what I found, I'd love someone to confirm my theory or tell me what did I undestand wrong.