20130419 -- The sequences below were captured with mitmproxy and show the request/response flows for the bootstrap and polished themes using tabwidget_bug_20130417a.cc test program. The sequence used to obtain this output was: 1. Build / run the tabwidget_bug_20130417a.cc program. 2. Navigate to the appropriate application page with a browser. 3. Disable communication between the browser and the server. 4. Click on displayed tabs in the following sequence: 1 - 2 - 3 - 2 - 1. This is only partial output for the exchange covering "2 - 3 - 2 - 1", as it should hopefully be sufficient to demonstrate the problem. ==> bootstrap_headers -- git describe: 3.3.0-7-g53cd144 <== 127.0.0.1 POST https://localhost:8080/test?wtd=gIX8uTKUdcCi6zOt Host: localhost:8080 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.12) Gecko/20100101 Firefox/10.0.12 Iceweasel/10.0.12 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 DNT: 1 Connection: keep-alive Content-Type: application/x-www-form-urlencoded; charset=UTF-8 Referer: http://localhost:8080/test Content-Length: 1194 Pragma: no-cache Cache-Control: no-cache << 200 OK 262B Date: Fri, 19 Apr 2013 14:37:27 GMT Content-Type: text/javascript; charset=UTF-8 Cache-Control: no-cache, no-store, must-revalidate Pragma: no-cache Expires: 0 Content-Encoding: gzip Transfer-Encoding: chunked ==> bootstrap_request -- git describe: 3.3.0-7-g53cd144 <== request=jsupdate& signal=s16& o5h=Contents%20of%20tab%201.& focus=& tid=WText_o5q& type=click& clientX=80& clientY=44& documentX=80& documentY=44& dragdX=80& dragdY=44& wheel=-1& screenX=80& screenY=176& scrollX=0& scrollY=0& width=72& height=36& widgetX=24& widgetY=24& button=1& charCode=0& e1signal=s17& e1o5h=Contents%20of%20tab%201.& e1focus=& e1tid=WText_o5v& e1type=click& e1clientX=148& e1clientY=46& e1documentX=148& e1documentY=46& e1dragdX=148& e1dragdY=46& e1wheel=-1& e1screenX=148& e1screenY=178& e1scrollX=0& e1scrollY=0& e1width=57& e1height=36& e1widgetX=16& e1widgetY=26& e1button=1& e1charCode=0& e2signal=s16& e2o5h=Contents%20of%20tab%201.& e2focus=& e2tid=WText_o5q& e2type=click& e2clientX=106& e2clientY=44& e2documentX=106& e2documentY=44& e2dragdX=106& e2dragdY=44& e2wheel=-1& e2screenX=106& e2screenY=176& e2scrollX=0& e2scrollY=0& e2width=72& e2height=36& e2widgetX=50& e2widgetY=24& e2button=1& e2charCode=0& e3signal=s15& e3o5h=Contents%20of%20tab%201.& e3focus=& e3tid=WText_o5l& e3type=click& e3clientX=21& e3clientY=45& e3documentX=21& e3documentY=45& e3dragdX=21& e3dragdY=45& e3wheel=-1& e3screenX=21& e3screenY=177& e3scrollX=0& e3scrollY=0& e3width=52& e3height=36& e3widgetX=21& e3widgetY=25& e3button=1& e3charCode=0& ackId=-212662951& pageId=0 ==> bootstrap_response -- git describe: 3.3.0-7-g53cd144 <== Wt._p_.response(-212662950);{var j99=Wt3_3_0.$('WStackedWidget_o5e'); $('#WStackedWidget_o5e').data('obj').setCurrent(Wt3_3_0.$('o5m')); $('#WStackedWidget_o5e').data('obj').setCurrent(Wt3_3_0.$('o5r')); $('#WStackedWidget_o5e').data('obj').setCurrent(Wt3_3_0.$('o5r')); $('#WStackedWidget_o5e').data('obj').setCurrent(Wt3_3_0.$('o5m')); $('#WStackedWidget_o5e').data('obj').setCurrent(Wt3_3_0.$('o5m')); $('#WStackedWidget_o5e').data('obj').setCurrent(Wt3_3_0.$('o5h')); $('#WStackedWidget_o5e').data('obj').setCurrent(Wt3_3_0.$('o5h')); var j100=Wt3_3_0.$('o5h'); j100.style.display=''; window.onresize(); Wt3_3_0.hide('o5m'); Wt3_3_0.hide('o5r'); var j101=Wt3_3_0.$('o5i'); $('#o5i').addClass('active'); $('#o5i').addClass('active'); $('#o5i').removeClass('active'); $('#o5i').removeClass('active'); $('#o5i').removeClass('active'); var j102=Wt3_3_0.$('o5n'); $('#o5n').removeClass('active'); $('#o5n').removeClass('active'); var j103=Wt3_3_0.$('o5s'); $('#o5s').removeClass('active'); $('#o5s').removeClass('active'); $('#o5s').removeClass('active'); $('#o5s').removeClass('active'); } ==> polished_headers -- git describe: 3.3.0-7-g53cd144 <== 127.0.0.1 POST https://localhost:8080/test?wtd=KhMRbUJoEGbpVs3f Host: localhost:8080 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.12) Gecko/20100101 Firefox/10.0.12 Iceweasel/10.0.12 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 DNT: 1 Connection: keep-alive Content-Type: application/x-www-form-urlencoded; charset=UTF-8 Referer: http://localhost:8080/test?polished Content-Length: 1181 Pragma: no-cache Cache-Control: no-cache << 200 OK 250B Date: Fri, 19 Apr 2013 14:35:57 GMT Content-Type: text/javascript; charset=UTF-8 Cache-Control: no-cache, no-store, must-revalidate Pragma: no-cache Expires: 0 Content-Encoding: gzip Transfer-Encoding: chunked ==> polished_request -- git describe: 3.3.0-7-g53cd144 <== request=jsupdate& signal=s10& o40=Contents%20of%20tab%201.& focus=& tid=WText_o49& type=click& clientX=88& clientY=41& documentX=88& documentY=41& dragdX=88& dragdY=41& wheel=-1& screenX=88& screenY=173& scrollX=0& scrollY=0& width=0& height=0& widgetX=17& widgetY=8& button=1& charCode=0& e1signal=s11& e1o40=Contents%20of%20tab%201.& e1focus=& e1tid=WText_o4e& e1type=click& e1clientX=147& e1clientY=39& e1documentX=147& e1documentY=39& e1dragdX=147& e1dragdY=39& e1wheel=-1& e1screenX=147& e1screenY=171& e1scrollX=0& e1scrollY=0& e1width=0& e1height=0& e1widgetX=8& e1widgetY=6& e1button=1& e1charCode=0& e2signal=s10& e2o40=Contents%20of%20tab%201.& e2focus=& e2tid=WText_o49& e2type=click& e2clientX=111& e2clientY=44& e2documentX=111& e2documentY=44& e2dragdX=111& e2dragdY=44& e2wheel=-1& e2screenX=111& e2screenY=176& e2scrollX=0& e2scrollY=0& e2width=0& e2height=0& e2widgetX=40& e2widgetY=11& e2button=1& e2charCode=0& e3signal=sf& e3o40=Contents%20of%20tab%201.& e3focus=& e3tid=WText_o44& e3type=click& e3clientX=36& e3clientY=46& e3documentX=36& e3documentY=46& e3dragdX=36& e3dragdY=46& e3wheel=-1& e3screenX=36& e3screenY=178& e3scrollX=0& e3scrollY=0& e3width=0& e3height=0& e3widgetX=15& e3widgetY=13& e3button=1& e3charCode=0& ackId=416640109& pageId=0 ==> polished_response -- git describe: 3.3.0-7-g53cd144 <== Wt._p_.response(416640110);{var j78=Wt3_3_0.$('WStackedWidget_o3x'); $('#WStackedWidget_o3x').data('obj').setCurrent(Wt3_3_0.$('o45')); $('#WStackedWidget_o3x').data('obj').setCurrent(Wt3_3_0.$('o4a')); $('#WStackedWidget_o3x').data('obj').setCurrent(Wt3_3_0.$('o4a')); $('#WStackedWidget_o3x').data('obj').setCurrent(Wt3_3_0.$('o45')); $('#WStackedWidget_o3x').data('obj').setCurrent(Wt3_3_0.$('o45')); $('#WStackedWidget_o3x').data('obj').setCurrent(Wt3_3_0.$('o40')); $('#WStackedWidget_o3x').data('obj').setCurrent(Wt3_3_0.$('o40')); var j79=Wt3_3_0.$('o40'); j79.style.display=''; window.onresize(); Wt3_3_0.hide('o45'); Wt3_3_0.hide('o4a'); var j80=Wt3_3_0.$('o41'); j80.className='itemselected'; var j81=Wt3_3_0.$('o46'); j81.className='item'; var j82=Wt3_3_0.$('o4b'); j82.className='item'; }