| Summary: | [Browser] puts IE8 in infinite loop. | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | [RT] RAP | Reporter: | Chris Fairhall <chris> | ||||||
| Component: | RWT | Assignee: | Project Inbox <rap-inbox> | ||||||
| Status: | RESOLVED FIXED | QA Contact: | |||||||
| Severity: | normal | ||||||||
| Priority: | P2 | ||||||||
| Version: | 1.4 | ||||||||
| Target Milestone: | 1.4 RC1 | ||||||||
| Hardware: | PC | ||||||||
| OS: | Windows XP | ||||||||
| Whiteboard: | |||||||||
| Attachments: |
|
||||||||
> I notice there was a big change in Browser.js between M6 and M7, including the
> addition of the onload listener
I meant the removal of the onload and the addition of the oncreate
Created attachment 195033 [details] patch fragment to use M6 Browser Browser.js and BrowserLCA.java are from M6 with minor changes, the other file are from M7 so it compiles. Resolves all issues. It probably brings back the bugs like bug 334350 bug 342236 and bug 327440 I can reproduce it with your snippet and CVS HEAD too. The problem was that syncSource in destroy causes unwanted load event when widget is about to be disposed. Fixed by checking for _isInGlobalDisposeQueue in Browser.js#_onload. Changes are in CVS HEAD. |
Created attachment 195031 [details] IEntryPoint to reproduce the issue When a dialog containing a Browser control closes, IE8 gets sent in to an infinite loop. According to the IE dev tools it is around the load event for the qx Iframe object. It seems something is triggering a load event, that triggers a load event... Issue does not occur on Firefox. Also does not occur on IE when used as Eclipse's internal browser. Tried running IE in "No addons mode" and still get stuck. When running with IE debugger active, after a while of looping it throws an exception "Could not find iframe which was loaded [B]!" This was reproduced using rap-runtime-1.4.0-M7-20110504-1831.zip 1.4.0-M6 did not display this issue (due to corporate firewalls I have no access to CVS to test on HEAD) I notice there was a big change in Browser.js between M6 and M7, including the addition of the onload listener Steps to reproduce. 1) Run attached IEntryPoint 2) Open in external IE8 browser 2) Click "Open Dialog" button 3) Click "Cancel" button 4) Wait forever for IE to respond