Opened 11 years ago

Closed 11 years ago

#7210 closed defect (wontfix)

Moveable drag fails if rapidly move over iframe

Reported by: dtgriscom Owned by: Eugene Lazutkin
Priority: high Milestone: tbd
Component: DnD Version: 1.1.1
Keywords: Cc:
Blocked By: Blocking:

Description

The attached demo shows a bug in dojo.dnd.Moveable, where if the user drags rapidly over an iframe the drag fails.

The demo includes three yellow Moveables. If you rapidly drag one onto or within the (red-framed) iframe, then the Moveable will get left behind for as long as you're in the iframe. If you leave the iframe then the Moveable will rejoin the cursor.

Attachments (1)

dragFailureiFrame.html (1.4 KB) - added by dtgriscom 11 years ago.
Demo of Moveable drag failing if move rapidly over iframe

Download all attachments as: .zip

Change History (5)

Changed 11 years ago by dtgriscom

Attachment: dragFailureiFrame.html added

Demo of Moveable drag failing if move rapidly over iframe

comment:1 Changed 11 years ago by dtgriscom

Further testing shows that this bug occurs in Firefox 3/Mac, but not in Safari/Mac? or OmniWeb/Mac?. Haven't done any Windows testing; I'll guess that IE/Win and Firefox/Win? show the bug, but Safari/Win? works.

comment:2 Changed 11 years ago by Eugene Lazutkin

Resolution: wontfix
Status: newclosed

This is a browser-specific problem, which cannot be fixed in Dojo. We cannot change how browser handles mouse events.

comment:3 Changed 11 years ago by dtgriscom

Resolution: wontfix
Status: closedreopened

I'm really surprised by your comments. When you say...

This is a browser-specific problem, which cannot be fixed in Dojo.

... isn't Dojo all about browser-independent development, patching over browser-specific issues? Do you really want to say that Safari on Mac isn't one of Dojo's supported browsers? That's 80+% of all Mac users...

Although I don't know Dojo's event model well, I'm guessing that adding an interval timer backstopping the drag function would cure the problem. It could be confined to the move class, and shouldn't cause problems elsewhere.

comment:4 Changed 11 years ago by Eugene Lazutkin

Resolution: wontfix
Status: reopenedclosed

You should understand that some problems related to browsers cannot be fixed, such as an iframe eating all events. If it weren't true, we would all use Netscape 1.0 with all problems fixed in javascript. If you have a solution, please submit a CLA and a patch for it. And don't forget to file a bug with Safari team.

There is no Dojo event model. All we use are browser's events. It is easy to verify that you guessed right: just use dojo.dnd.TimedMoveable? that does exactly what you suggest. With it you can backstop the drag function and try to cure the problem.

Until then the ticket is closed as "wontfix".

Note: See TracTickets for help on using tickets.