Closed
Bug 342229
Opened 19 years ago
Closed 19 years ago
fire the onDragOver event repeatedly when doing a drag (and the mouse is not moving)
Categories
(Core Graveyard :: Widget: Mac, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: moco, Assigned: mark)
References
Details
(Keywords: fixed1.8.1)
Attachments
(1 file)
(deleted),
patch
|
jaas
:
review+
bryner
:
superreview+
mtschrep
:
approval1.8.1+
|
Details | Diff | Splinter Review |
fire the onDragOver even repeatedly when doing a drag (and the mouse is not moving).
windows and gtk2 already do this, and for scrolling tabs, we'd need this, or we'd need to work around it in the toolkit for mac.
to see where it is needed, see bug #318168 (and the patch in the bug)
drag a tab (or a url) and hold it over the arrowscrollbox. the desired effect is that we scroll even if the mouse is not moving.
mark and I were concerned that changing the widget code for mac may cause regressions. I'm less worried about calling onDragOver frequently (unless someone out there has hacked their code to work around this mac issue) and more worried about performance issues.
Reporter | ||
Comment 1•19 years ago
|
||
in bug #341830, I wrote:
for mac, onDragOver is not being called repeatedly when the mouse isn't moving,
as it does on windows.
From an ancient post from pink
(http://groups.google.com/group/netscape.public.mozilla.mac/browse_thread/thread/6cd00f8ae7b6e07a/192a62a1599f0bc1)
Here's how Mac D&D is working so far:
- each window (mac window) registers a tracking handler and a receive
handler with the drag manager
- the tracking handler gets called when the mouse enters/leaves the
window and when the mouse moves within the window.
- the receive handler gets called when a drop over a window occurs.
mark suggested that I might need a timer to solve this problem, but I wanted to
ping pink and see if I'm on the right track.
Reporter | ||
Updated•19 years ago
|
Blocks: tabbedbrowsing
Comment 2•19 years ago
|
||
IIRC, the drag manager is synchronous, so timers that rely on an event loop may not fire. That certainly was the case on os9, i'm not sure if that's still the case on osx with carbon Events.
Updated•19 years ago
|
Assignee: mark → joshmoz
Component: Tabbed Browser → Widget: Mac
Product: Firefox → Core
QA Contact: tabbed.browser → mac
Version: 2.0 Branch → 1.8 Branch
Assignee | ||
Comment 3•19 years ago
|
||
This was assigned to me for a reason: I told Seth I'd fix it in exchange for food.
Assignee: joshmoz → mark
Comment 4•19 years ago
|
||
Oops, sorry. I didn't mean to re-assign, my muscle-memory made me do it.
Assignee | ||
Comment 5•19 years ago
|
||
Re comment 2, I know exactly what pink means about the classic system, but I know for sure that I can fix this with a Carbon timer. Since, according to Seth, the win32 and gtk widget libraries send NS_DRAGDROP_OVER repeatedly even when the mouse isn't moving, I agreed to make the Mac (Carbon) widget library conform in the interest of platform parity. We'll also need to do the same thing for Cocoa.
Assignee | ||
Comment 6•19 years ago
|
||
I developed this on the 1.8[.1] branch because there seems to be a bug on the trunk preventing NS_DRAGDROP_OVER events from having any effect.
Attachment #226564 -
Flags: review?(joshmoz)
Reporter | ||
Comment 7•19 years ago
|
||
mark's patch works for me on mac 10.4 / 1.8 branch with my patch for #318168
Assignee | ||
Comment 8•19 years ago
|
||
+ ::InstallEventLoopTimer(::GetMainEventLoop(),
I would usually use ::GetCurrentEventLoop() here, and will change this.
Attachment #226564 -
Flags: review?(joshmoz) → review+
Assignee | ||
Updated•19 years ago
|
Attachment #226564 -
Flags: superreview?(bryner)
Updated•19 years ago
|
Attachment #226564 -
Flags: superreview?(bryner) → superreview+
Assignee | ||
Comment 9•19 years ago
|
||
Checked in on trunk.
Status: NEW → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
Assignee | ||
Comment 10•19 years ago
|
||
Comment on attachment 226564 [details] [diff] [review]
Patch
Requesting approval1.8.1. This is a longstanding platform parity issue, and is needed to support bug 318168 properly on the Mac.
Attachment #226564 -
Flags: approval1.8.1?
Updated•19 years ago
|
Attachment #226564 -
Flags: approval1.8.1? → approval1.8.1+
Assignee | ||
Comment 11•19 years ago
|
||
Checked in on MOZILLA_1_8_BRANCH for 1.8.1b1.
Keywords: fixed1.8.1
Updated•19 years ago
|
Summary: fire the onDragOver even repeatedly when doing a drag (and the mouse is not moving) → fire the onDragOver event repeatedly when doing a drag (and the mouse is not moving)
You need to log in
before you can comment on or make changes to this bug.
Description
•