[ 
https://issues.apache.org/jira/browse/WICKET-3820?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13052659#comment-13052659
 ] 

Dan Retzlaff commented on WICKET-3820:
--------------------------------------

Safari 5.0.5 (current) has WebKit 533.21.1 and is OK.
Chrome 12.x (stable) has WebKit 534.3 and is OK.
Chrome 13.x (beta) has WebKit 535.1 and is broken.

Since Chrome 13.x was released 2011-06-07, and they release to stable about 
every 6 weeks, we probably have about 4 weeks before the change hits Chrome 
stable.

The Safari 5.1 developer preview uses WebKit 534.42 which does NOT contain the 
text-merge behavior, so Safari looks good for a while.

> New Chrome merges text in replaceOuterHtml, breaking wicket-ajax
> ----------------------------------------------------------------
>
>                 Key: WICKET-3820
>                 URL: https://issues.apache.org/jira/browse/WICKET-3820
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket-core
>    Affects Versions: 1.4.17, 1.5-RC5.1
>         Environment: Chrome 13.0.782.24
>            Reporter: Dan Retzlaff
>         Attachments: chromeajax.patch, chromeajax.zip
>
>
> Chrome 13.0.782.24 beta changes the way "element.outerHTML = text" is handled 
> in a way that breaks Wicket's AJAX rendering compared to Chrome 12.0.782.100 
> (stable).
> Before the outerHTML assignment that replaces the DOM content, 
> Wicket.replaceOuterHtmlSafari() grabs element.nextSibling. After the 
> outerHTML assignment, it iterates through the new element siblings until the 
> previous "next" is encountered. However, when the new text contains trailing 
> whitespace, and the "previous next" is a text node, the new version of Chrome 
> merges the two text nodes into a single text node, invalidating the 
> iteration's termination condition. This eventually leads to a null reference, 
> breaking subsequent Javascript/AJAX functionality.
> Is it a good idea to simply add "while (next.nodeType == 3) next = 
> next.nextSibling;" after the next assignment in 
> Wicket.replaceOuterHtmlSafari? This just makes the "previous next" reference 
> something other than a text node.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to