Opened 10 years ago

Closed 10 years ago

#8838 closed defect (fixed)

[regression] IE6: test_Dialog.html hangs

Reported by: Douglas Hays Owned by: bill
Priority: high Milestone: 1.3
Component: Dijit Version: 1.3.0b2
Keywords: Cc:
Blocked By: Blocking:

Description

[16540] caused a regresson with popups and IE6.
Run test_Dialog.html using IE6 and shrink the window size horizontally until the right edge of the browser is near the end of the button "Programmatic Dialog (3 second delay)".
Click "Show Dialog". The browser locks up.

Attachments (1)

noExpressions.diff (4.1 KB) - added by bill 10 years ago.
Patch to stop using CSS expressions for BackgroundIFrame; this wasn't needed to fix this problem but might be needed eventually. Apply against popup.js [16608].

Download all attachments as: .zip

Change History (3)

comment:1 Changed 10 years ago by bill

Status: newassigned

Looks like [16540] causing the regression is inadvertent; it's just a timing issue.

It happens when the viewport's width is less than the width of the dialog. (Note that in the above description it means that you need to shrink the window until the first and second button are on separate rows.)

In this case, showing the dialog makes the dialog positioning code (_position()) run, which strangely triggers a window.onresize event, which again makes _position() run, ad infinitum.

comment:2 Changed 10 years ago by bill

Resolution: fixed
Status: assignedclosed

(In [16979]) Ignore spurious resize events on IE, for performance but more importantly to prevent a browser hang.

Showing the dialog with a small viewport width makes _position() run, which strangely triggers a window.onresize event, which again was making _position() run, ad infinitum.

Fixes #8838 !strict.

Changed 10 years ago by bill

Attachment: noExpressions.diff added

Patch to stop using CSS expressions for BackgroundIFrame; this wasn't needed to fix this problem but might be needed eventually. Apply against popup.js [16608].

Note: See TracTickets for help on using tickets.