Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 2.0-Alpha2
-
Fix Version/s: 2.0-Alpha3, 2.0.0
-
Component/s: Framework
-
Labels:None
-
Environment:ICEfaces 2 JSF 2
Description
<h:body>
<ui:debug hotkey="p" rendered="true"/>
triggers a full page reload. The rendered markup of the debug is a <script> node, whose content change between renders due to an embedded URL that has a counter or timestamp that updates with each request. Because the DOM diff algorithm detects this change, it tries to find the closest parent with an id which, in the test case, ends up being the <html>. If we detect that the html node is involved, we simply send a window.location.reload() message back to the client. This is not the Ajax behaviour we'd like to have.
Possible strategies to solving this:
- Request that mojarra add ID to facelet debug output. Since script tags are not allowed to have ids for some reason, it would need to sit in a div or some other legitimate container.
- Reparent ui:debug ourselves when added to component tree under an element with an id. Basically this is the same as above just that we do the work.
- Provide our own ice:debug component as a replacement.
The bigger picture here is: What to do instead of reload when legitimate changes occur under the body?
Issue Links
Activity
- All
- Comments
- History
- Activity
- Remote Attachments
- Subversion
Using basic example added this to icefaces and nonicefaces page:-
<ui:debug hotkey="p" rendered="true"/>
load icefaces page and press "Show/Hide" button and what is returned is the following:-
09:58:15.029309 IP localhost.49687 > localhost.http-alt: P 585:1787(1202) ack 117 win 65535 <nop,nop,timestamp 870416201 870416079>
E.....@.@...................H..|...........
3..I3.~.POST /basic/icefaces.jsf HTTP/1.1
Host: localhost:8080
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Faces-Request: partial/ajax
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Referer: http://localhost:8080/basic/icefaces.jsf
Content-Length: 547
Cookie: JSESSIONID=BC685E9E7DC880F7B218DCD17123E56D
Pragma: no-cache
Cache-Control: no-cache
form1=form1&javax.faces.ViewState=-1557039903250891045%3A-6860786314298344795&ice.window=9vg8uc0r86&javax.faces.source=button1&javax.faces.partial.event=click&javax.faces.partial.execute=%40all&javax.faces.partial.render=%40all&ice.window=9vg8uc0r86&ice.view=v1za902&button1=Show%2FHide&ice.event.target=button1&ice.event.captured=button1&ice.event.type=onclick&ice.event.alt=false&ice.event.ctrl=false&ice.event.shift=false&ice.event.meta=false&ice.event.x=40&ice.event.y=86&ice.event.left=true&ice.event.right=false&javax.faces.partial.ajax=true
09:58:15.029336 IP localhost.http-alt > localhost.49687: . ack 1787 win 65535 <nop,nop,timestamp 870416201 870416201>
E..4..@.@...............H..|...l.....(.....
3..I3..I
09:58:15.072897 IP localhost.http-alt > localhost.49687: P 117:452(335) ack 1787 win 65535 <nop,nop,timestamp 870416202 870416201>
E.....@.@...............H..|...l.....w.....
3..J3..IHTTP/1.1 200 OK
Server: Apache-Coyote/1.1
X-Powered-By: JSF/2.0
Cache-Control: no-cache
Content-Type: text/xml;charset=UTF-8
Content-Length: 145
Date: Wed, 05 May 2010 15:58:15 GMT
<?xml version='1.0' encoding='utf-8'?>
<partial-response><changes><eval><![CDATA[window.location.reload();]]></eval></changes></partial-response>
09:58:15.072925 IP localhost.49687 > localhost.http-alt: . ack 452 win 65535 <nop,nop,timestamp 870416202 870416202>
E..4n.@.@..................lH........(.....
3..J3..J
09:58:15.078792 IP localhost.49684 > localhost.http-alt: P 2939:3600(661) ack 5033 win 65535 <nop,nop,timestamp 870416202 870416079>
E...p.@.@...............Zh.................
3..J3.~.POST /basic/dispose-window.icefaces.jsf HTTP/1.1
Host: localhost:8080
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Referer: http://localhost:8080/basic/icefaces.jsf
Content-Length: 21
Cookie: JSESSIONID=BC685E9E7DC880F7B218DCD17123E56D
Pragma: no-cache
Cache-Control: no-cache
ice.window=9vg8uc0r86
09:58:15.078818 IP localhost.http-alt > localhost.49684: . ack 3600 win 65535 <nop,nop,timestamp 870416202 870416202>
E..4k.@.@...................Zh.......(.....
3..J3..J
09:58:15.079823 IP localhost.http-alt > localhost.49684: P 5033:5158(125) ack 3600 win 65535 <nop,nop,timestamp 870416202 870416202>
E...,.@.@...................Zh.............
3..J3..JHTTP/1.1 200 OK
Server: Apache-Coyote/1.1
X-Powered-By: JSF/2.0
Content-Length: 0
Date: Wed, 05 May 2010 15:58:15 GMT
09:58:15.079845 IP localhost.49684 > localhost.http-alt: . ack 5158 win 65535 <nop,nop,timestamp 870416202 870416202>
E..4..@.@...............Zh...........(.....
3..J3..J
09:58:15.084648 IP localhost.49687 > localhost.http-alt: P 1787:2259(472) ack 452 win 65535 <nop,nop,timestamp 870416202 870416202>
E.....@.@..................lH..............
3..J3..JGET /basic/icefaces.jsf HTTP/1.1
Host: localhost:8080
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Cookie: JSESSIONID=BC685E9E7DC880F7B218DCD17123E56D
Cache-Control: max-age=0
09:58:15.084676 IP localhost.http-alt > localhost.49687: . ack 2259 win 65535 <nop,nop,timestamp 870416202 870416202>
E..4".@.@...............H......D.....(.....
3..J3..J
09:58:15.124949 IP localhost.http-alt > localhost.49687: P 452:4908(4456) ack 2259 win 65535 <nop,nop,timestamp 870416202 870416202>
E.....@.@...............H......D...........
3..J3..JHTTP/1.1 200 OK
Server: Apache-Coyote/1.1
X-Powered-By: JSF/2.0
Content-Type: text/html;charset=UTF-8
Content-Length: 4289
Date: Wed, 05 May 2010 15:58:15 GMT
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><script src="/basic/javax.faces.resource/jsf.js.jsf?ln=javax.faces&stage=Development" type="text/javascript"></script><script src="/basic/javax.faces.resource/bridge.js.jsf?a3325860" type="text/javascript"></script>
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type" />
<title>ICEfaces Ajax</title></head><body><script language="javascript" type="text/javascript">//<![CDATA[
function faceletsDebug(URL)
;var faceletsOrigKeyup = document.onkeyup; document.onkeyup = function(e)
{ if (window.event) e = window.event; if (String.fromCharCode(e.keyCode) == 'P' & e.shiftKey & e.ctrlKey) faceletsDebug('/basic/icefaces.jsf?facelets.ui.DebugOutput=1273075060284'); else if (faceletsOrigKeyup) faceletsOrigKeyup(e); };
//]]>
</script>
<form action="/basic/icefaces.jsf" enctype="application/x-www-form-urlencoded" id="form1" method="post" name="form1">
<input name="form1" type="hidden" value="form1" />
<script type="text/javascript">ice.captureEnterKey('form1')</script><span id="form1_captureEnter"></span><script type="text/javascript">ice.captureSubmit('form1')</script><span id="form1_captureRedirect"></span>
<h2>ICEfaces: Show / Hide based on backing bean</h2><span id="pg1"></span><span id="pg2"><span id="out2">Or Not</span></span>
<br /><input id="button1" name="button1" type="submit" value="Show/Hide" />
<br /><span id="_t10">Reload entire page: </span><input id="reload" name="reload" type="submit" value="reload" />
<br /><input id="btn2" name="btn2" type="submit" value="ICEfaces Page" />
<br /><input id="btn3" name="btn3" onclick="mojarra.ab(this,event,'action','@all','@all');return false" type="submit" value="ICEfaces Page (ajax - all)" />
<br /><input id="btn4" name="btn4" onclick="mojarra.ab(this,event,'action','@this','form1');return false" type="submit" value="ICEfaces Page (ajax - form)" />
<br /><input id="btn5" name="btn5" type="submit" value="Stock JSF Page" />
<br /><a href="icefaces.jsf" id="lnk1" name="lnk1">ICEfaces Page</a>
<a href="nonicefaces.jsf" id="lnk2" name="lnk2">Stock JSF Page</a>
<br /><span id="time">1273075095121</span>
<br /><input type="hidden" name="javax.faces.ViewState" id="javax.faces.ViewState" value="-6865153291431309954:-2793643577250990981" autocomplete="off" />
</form>
<form action="/basic/icefaces.jsf" enctype="application/x-www-form-urlencoded" id="testMessages" method="post" name="testMessages">
<input name="testMessages" type="hidden" value="testMessages" />
<script type="text/javascript">ice.captureEnterKey('testMessages')</script><span id="testMessages:testMessages_captureEnter"></span><script type="text/javascript">ice.captureSubmit('testMessages')</script><span id="testMessages:testMessages_captureRedirect"></span><input id="testMessages:in1" name="testMessages:in1" type="text" value="0" />
<br /><input id="testMessages:button2" name="testMessages:button2" onclick="mojarra.ab(this,event,'action','testMessages:in1','@all');return false" type="submit" value="Count" />
<br /><span id="testMessages:msg"></span><input type="hidden" name="javax.faces.ViewState" id="javax.faces.ViewState" value="-6865153291431309954:-2793643577250990981" autocomplete="off" />
</form><span id="v1za903_icefaces_config"><script id='v1za903_icefaces_config' type="text/javascript">document.getElementById('v1za903_icefaces_config').parentNode.configuration =
;window.ice.window = '9vg8uc0r86';</script></span>
<form action="/basic/icefaces.jsf" id="v1za903" method="post" name="v1za903">
<input name="v1za903" type="hidden" value="v1za903" />
<input type="hidden" name="javax.faces.ViewState" id="javax.faces.ViewState" value="-6865153291431309954:-2793643577250990981" autocomplete="off" />
</form></body>
</html>
09:58:15.124987 IP localhost.49687 > localhost.http-alt: . ack 4908 win 65535 <nop,nop,timestamp 870416202 870416202>
E..4V.@.@..................DH..3.....(.....
3..J3..J
09:58:15.142579 IP localhost.49684 > localhost.http-alt: P 3600:4206(606) ack 5158 win 65535 <nop,nop,timestamp 870416203 870416202>
E.....@.@...............Zh.................
3..K3..JGET /basic/javax.faces.resource/jsf.js.jsf?ln=javax.faces&stage=Development HTTP/1.1
Host: localhost:8080
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9
Accept: /
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://localhost:8080/basic/icefaces.jsf
Cookie: JSESSIONID=BC685E9E7DC880F7B218DCD17123E56D
If-Modified-Since: Mon, 26 Apr 2010 16:43:30 GMT
If-None-Match: W/"105195-1272300210000"
Cache-Control: max-age=0
09:58:15.142605 IP localhost.http-alt > localhost.49684: . ack 4206 win 65535 <nop,nop,timestamp 870416203 870416203>
E..4-.@.@...................Zh.y.....(.....
3..K3..K
09:58:15.144191 IP localhost.49687 > localhost.http-alt: P 2259:2843(584) ack 4908 win 65535 <nop,nop,timestamp 870416203 870416202>
E..|..@.@..................DH..3.....q.....
3..K3..JGET /basic/javax.faces.resource/bridge.js.jsf?a3325860 HTTP/1.1
Host: localhost:8080
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9
Accept: /
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://localhost:8080/basic/icefaces.jsf
Cookie: JSESSIONID=BC685E9E7DC880F7B218DCD17123E56D
If-Modified-Since: Mon, 03 May 2010 16:59:42 GMT
If-None-Match: W/"69198-1272905982000"
Cache-Control: max-age=0
09:58:15.144213 IP localhost.http-alt > localhost.49687: . ack 2843 win 65535 <nop,nop,timestamp 870416203 870416203>
E..4..@.@...............H..3.........(.....
3..K3..K
09:58:15.145213 IP localhost.http-alt > localhost.49684: P 5158:5274(116) ack 4206 win 65535 <nop,nop,timestamp 870416203 870416203>
E.....@.@...................Zh.y...........
3..K3..KHTTP/1.1 304 Not Modified
Server: Apache-Coyote/1.1
X-Powered-By: JSF/2.0
Date: Wed, 05 May 2010 15:58:15 GMT
09:58:15.145230 IP localhost.49684 > localhost.http-alt: . ack 5274 win 65535 <nop,nop,timestamp 870416203 870416203>
E..4s.@.@...............Zh.y.........(.....
3..K3..K
09:58:15.147632 IP localhost.http-alt > localhost.49687: P 4908:5024(116) ack 2843 win 65535 <nop,nop,timestamp 870416203 870416203>
E.....@.@...............H..3...............
3..K3..KHTTP/1.1 304 Not Modified
Server: Apache-Coyote/1.1
X-Powered-By: JSF/2.0
Date: Wed, 05 May 2010 15:58:15 GMT
09:58:15.147677 IP localhost.49687 > localhost.http-alt: . ack 5024 win 65535 <nop,nop,timestamp 870416203 870416203>
E..4..@.@...................H........(.....
3..K3..K
standard jsf page in basic example with same markup returns:-
10:02:05.947391 IP localhost.49698 > localhost.http-alt: P 1745:2678(933) ack 5123 win 65535 <nop,nop,timestamp 870418509 870418413>
E....Z@.@............"..(p..f..............
3..M3...POST /basic/nonicefaces.jsf HTTP/1.1
Host: localhost:8080
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Faces-Request: partial/ajax
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Referer: http://localhost:8080/basic/nonicefaces.jsf
Content-Length: 272
Cookie: JSESSIONID=BC685E9E7DC880F7B218DCD17123E56D
Pragma: no-cache
Cache-Control: no-cache
form1=form1&javax.faces.ViewState=4904648207165786744%3A-3058028231539878520&javax.faces.source=button1&javax.faces.partial.event=click&javax.faces.partial.execute=button1&javax.faces.partial.render=pg1%20pg2&javax.faces.behavior.event=action&javax.faces.partial.ajax=true
10:02:05.947421 IP localhost.http-alt > localhost.49698: . ack 2678 win 65535 <nop,nop,timestamp 870418509 870418509>
E..4F @.@.............."f...(p.......(.....
3..M3..M
10:02:05.966210 IP localhost.http-alt > localhost.49698: P 5123:5651(528) ack 2678 win 65535 <nop,nop,timestamp 870418509 870418509>
E..D..@.@.............."f...(p.......9.....
3..M3..MHTTP/1.1 200 OK
Server: Apache-Coyote/1.1
X-Powered-By: JSF/2.0
Cache-Control: no-cache
Content-Type: text/xml;charset=UTF-8
Content-Length: 338
Date: Wed, 05 May 2010 16:02:05 GMT
<?xml version='1.0' encoding='UTF-8'?>
<partial-response><changes><update id="pg1"><Unable to render embedded object: File ([CDATA[<span id="pg1"><span id="out1">Show</span></span>]]></update><update id="pg2"><) not found.[CDATA[<span id="pg2"></span>]]></update><update id="javax.faces.ViewState"><![CDATA[4904648207165786744:-3058028231539878520]]></update></changes></partial-response>
10:02:05.966236 IP localhost.49698 > localhost.http-alt: . ack 5651 win 65535 <nop,nop,timestamp 870418509 870418509>
E..4.#@.@............"..(p..f........(.....
3..M3..M
10:02:25.965987 IP localhost.http-alt > localhost.49698: F 5651:5651(0) ack 2678 win 65535 <nop,nop,timestamp 870418709 870418509>
E..4#`@.@.............."f...(p.......(.....
3...3..M
10:02:25.966023 IP localhost.49698 > localhost.http-alt: . ack 5652 win 65535 <nop,nop,timestamp 870418709 870418709>
E..4iZ@.@............"..(p..f........(.....
3...3...
10:02:25.966032 IP localhost.http-alt > localhost.49698: . ack 2678 win 65535 <nop,nop,timestamp 870418709 870418709>
E..4;.@.@.............."f...(p.......(.....
3...3...
10:02:36.695708 IP localhost.49698 > localhost.http-alt: F 2678:2678(0) ack 5652 win 65535 <nop,nop,timestamp 870418816 870418709>
E..4.'@.@............"..(p..f........(.....
3...3...
10:02:36.695754 IP localhost.http-alt > localhost.49698: . ack 2679 win 65535 <nop,nop,timestamp 870418816 870418816>
E..4._@.@.............."f...(p.......(.....
3...3...
put <h:panelGroup> around the <ui:debug> tag in icefaces.xhtml of basic example to get :-
<h:panelGroup id="pnlDebug">
<ui:debug hotkey="p" rendered="true"/>
</h:panelGroup>
10:07:07.571328 IP localhost.49731 > localhost.http-alt: P 1688:2888(1200) ack 4789 win 65535 <nop,nop,timestamp 870421522 870421402>
E....8@.@............C.....IC..............
3...3...POST /basic/icefaces.jsf HTTP/1.1
Host: localhost:8080
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Faces-Request: partial/ajax
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Referer: http://localhost:8080/basic/icefaces.jsf
Content-Length: 545
Cookie: JSESSIONID=31B4187BAF555EECCBCBB296DC636952
Pragma: no-cache
Cache-Control: no-cache
form1=form1&javax.faces.ViewState=-1230106705659453141%3A816569577843921078&ice.window=dzg8uccng2&javax.faces.source=button1&javax.faces.partial.event=click&javax.faces.partial.execute=%40all&javax.faces.partial.render=%40all&ice.window=dzg8uccng2&ice.view=v5jvt31&button1=Show%2FHide&ice.event.target=button1&ice.event.captured=button1&ice.event.type=onclick&ice.event.alt=false&ice.event.ctrl=false&ice.event.shift=false&ice.event.meta=false&ice.event.x=46&ice.event.y=90&ice.event.left=true&ice.event.right=false&javax.faces.partial.ajax=true
10:07:07.571359 IP localhost.http-alt > localhost.49731: . ack 2888 win 65535 <nop,nop,timestamp 870421522 870421522>
E..4e.@.@..............CC............(.....
3...3...
10:07:07.649224 IP localhost.http-alt > localhost.49731: P 4789:6091(1302) ack 2888 win 65535 <nop,nop,timestamp 870421523 870421522>
E..J.M@.@..............CC............?.....
3...3...HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
X-Powered-By: JSF/2.0
Cache-Control: no-cache
Content-Type: text/xml;charset=UTF-8
Content-Length: 1111
Date: Wed, 05 May 2010 16:07:07 GMT
<?xml version='1.0' encoding='utf-8'?>
<partial-response><changes><update id="pnlDebug"><Unable to render embedded object: File ([CDATA[<span id="pnlDebug"><script language="javascript" type="text/javascript">//<) not found.[CDATA[
function faceletsDebug(URL)
;var faceletsOrigKeyup = document.onkeyup; document.onkeyup = function(e)
{ if (window.event) e = window.event; if (String.fromCharCode(e.keyCode) == 'P' & e.shiftKey & e.ctrlKey) faceletsDebug('/basic/icefaces.jsf?facelets.ui.DebugOutput=1273075615183'); else if (faceletsOrigKeyup) faceletsOrigKeyup(e); };
//]]>
</script></span>]]></update><update id="pg1"><Unable to render embedded object: File ([CDATA[<span id="pg1"><span id="out1">Show</span></span>]]></update><update id="pg2"><) not found.[CDATA[<span id="pg2"></span>]]></update><update id="time"><Unable to render embedded object: File ([CDATA[<span id="time">1273075627642</span>]]></update><update id="javax.faces.ViewState"><) not found.[CDATA[-1230106705659453141:816569577843921078]]></update></changes></partial-response>
10:07:07.649264 IP localhost.49731 > localhost.http-alt: . ack 6091 win 65535 <nop,nop,timestamp 870421523 870421523>
E..4.r@.@............C......C..(.....(.....
3...3...
10:07:15.594111 IP localhost.http-alt > localhost.49734: F 69557:69557(0) ack 469 win 65535 <nop,nop,timestamp 870421602 870421403>
..b.[.....(............F8.
3..b3...
10:07:15.594148 IP localhost.49734 > localhost.http-alt: . ack 69558 win 65535 <nop,nop,timestamp 870421602 870421602>
......(..............F...b.[8.
3..b3..b
10:07:15.594157 IP localhost.http-alt > localhost.49734: . ack 469 win 65535 <nop,nop,timestamp 870421602 870421602>
..b.[.....(............F8.
3..b3..b
Here is the detail info on the testing you requested. I guess we could call this a work-around for now? If an issue gets filed with Mojarra (for a div to be rendered around this tag), it would definitely fix this, either way, I couldn't mark this as being resolved.
So the bottom line analysis is that, wrapping a container around the ui:debug component allows it to update without doing a full page reload. The workaround is sufficient for now. This case depends on ICE-5113 which should help avoid this without the use of the workaround. So for now we'll just leave it as is and wait for the work on the parent case to be complete and then we can retest.
The fix from ICE-5717 has solved this problem. Wrapping a parent container around the ui:debug has solved the full page reload issue as well as a number of issues related to the Mojarra 2.0.2 unit tests.
Try <h:panelGroup id="debug"><ui:debug></ui:debug>
We will also create a Sun bug requesting ui:debug script being placed inside a div with an id.