In discussions about Drag and Drop implementations, we realized that we want to use CSS to display drop feedback in many instances. This forces a reflow in Gecko. On Mac, once you begin a drag, you are at the mercy of the OS: you can paint only by calling paint routines directly and you cannot rely on update/paint events and Invalidate() calls because you won't get them until it is too late. Any timers that rely on receiving events won't work either. It may be able to fake it in GFX somehow such that when the mouse is down, all drawing is done immediately, otherwise it is done the normal way with invalidates, but it's probably at the layout level as well, and that's a problem. Gecko needs to be able to draw w/out relying on invalidates for drop feedback that uses CSS to work on MacOS.
Rick, in resolving this Remind, did you really mean the standard definition of this: "The problem described is a bug which will probably not be fixed in this version of the product, but might still be."? Could you add a comment about why you marked this Remind? We consider this to be needed for drag & drop to be discoverable on the Mac, where it is very much expected. cc'ing german (and scotty, since german is out this week) to get their input as to the importance of drop feedback. I'd like to see this as an active bug with a target milestone.
Verifying as a Reminder.
Drop feedback is very much desired, and expected on the Mac as there it is the only means for discovering drop targets. This might also be very desirable for the Netscape look and feel for all platforms as it really helps users see what the drop target area is. I was thinking we can use the CSS2 property outline (http://www.w3.org/TR/REC-CSS2/ui.html#dynamic-outlines), which does not require a reflow of the document, and is meant for these kinds of things. BTW (hint, hint) we also really need this CSS2 property anyway to materialize the Netscape look and feel for mouseover on buttons. I've been begging for this for a long time...pretty please?
REMIND is deprecated.
Punting to attinasi (layout owner)--if this bug is meaningless by now, please resolve it.
What's the current status now?
What's a specific example that exhibits the need for this bug, if I may ask?
Reassigning to firstname.lastname@example.org for now until someone willing to take it.
Asking the gecko widget to paint using NS_METHOD nsIWidget::Invalidate(PRBool aIsSynchronous) passing TRUE should force the window to be painted immediately without having to wait for a paint message to be generated and processed.
Works now :)