Closed
Bug 289667
Opened 19 years ago
Closed 19 years ago
drag 'n drop of < map > links found in an < img > is broken
Categories
(Core :: DOM: UI Events & Focus Handling, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: nirvn.asia, Assigned: MatsPalmgren_bugz)
References
()
Details
(Keywords: regression, testcase)
Attachments
(2 files, 2 obsolete files)
586 bytes,
text/html
|
Details | |
15.37 KB,
patch
|
roc
:
review+
roc
:
superreview+
benjamin
:
approval1.8b3+
|
Details | Diff | Splinter Review |
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8b2) Gecko/20050402 Firefox/1.0+ Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8b2) Gecko/20050402 Firefox/1.0+ Probably related to Bug 285438, drag and drop area links found in an img tag stopped to work. Reproducible: Always Steps to Reproduce: 1.Go to http://www.licadho.org/ 2.Try to drag a link in the red bar (e.g. 'About Us') to the location bar or the tab bar Actual Results: Does nothing Expected Results: Should load the url in the current tab or new tab
Reporter | ||
Updated•19 years ago
|
Keywords: regression
Updated•19 years ago
|
Assignee: firefox → jst
Status: UNCONFIRMED → NEW
Ever confirmed: true
Comment 1•19 years ago
|
||
bug 285438 is still open, only partially fixed. Making this depend on it so we don't forget.
Depends on: 285438
Flags: blocking-aviary1.1?
Comment 2•19 years ago
|
||
FWIW... this appears to be a cross-platform problem. The OS/2 version (which didn't require any platform-specific changes) also exhibits this bug.
Reporter | ||
Comment 3•19 years ago
|
||
I just scream everytime I get this regression, you can't really ship a final product with a basic drag and drop function broken
Severity: normal → major
Reporter | ||
Updated•19 years ago
|
Flags: blocking1.8b3?
Assignee | ||
Comment 4•19 years ago
|
||
Regression window: 2005-03-29-05 -- 2005-03-30-05. I'm pretty sure it was caused by bug 255863.
Assignee | ||
Comment 5•19 years ago
|
||
Assignee | ||
Comment 6•19 years ago
|
||
The problem is that <area> content does not have a primary frame, so we call |StopTrackingDragGesture()| and make an early return. I suppose there was a reason not to keep the original |inDownFrame| around? I kept a ref to its content instead. This patch fixes the bug, but it does cause an assertion in |GetFrameFromNode|: http://bonsai.mozilla.org/cvsblame.cgi?file=mozilla/widget/src/xpwidgets/nsBaseDragService.cpp&rev=1.35&root=/cvsroot&mark=277,293#277 when called from here: http://bonsai.mozilla.org/cvsblame.cgi?file=mozilla/widget/src/xpwidgets/nsBaseDragService.cpp&rev=1.35&root=/cvsroot&mark=197,215#196 I'm not sure how to deal with that - should it not be possible to drag frame-less content?
Attachment #187358 -
Flags: superreview?(roc)
Attachment #187358 -
Flags: review?(roc)
Comment on attachment 187358 [details] [diff] [review] Patch rev. 1 You certainly should be able to drag content without frames. But all this code is trying to do it turn off mouse capture. You can do that without getting the frame. You need to get the pres context, and then the view manager, and then call viewMan->GrabMouseEvents(nsnull). This code here looks fine, but add comments to make it clear what the difference is between nsCOMPtr<nsIContent> mGestureDownContent; and + nsCOMPtr<nsIContent> mGestureDownFrameOwner;
Attachment #187358 -
Flags: superreview?(roc)
Attachment #187358 -
Flags: superreview+
Attachment #187358 -
Flags: review?(roc)
Attachment #187358 -
Flags: review+
Assignee | ||
Comment 8•19 years ago
|
||
Added comments and stopping mouse capture as suggested.
Attachment #187358 -
Attachment is obsolete: true
Attachment #187458 -
Flags: superreview?(roc)
Attachment #187458 -
Flags: review?(roc)
Attachment #187458 -
Flags: approval1.8b3?
Assignee | ||
Comment 9•19 years ago
|
||
nsBaseDragService::GetFrameFromNode() does not seem all that useful to me and the assertion it has is bogus anyway. After this bug is fixed there is only one remaining call to it AFAICT (in Mac specific code): http://bonsai.mozilla.org/cvsblame.cgi?&file=/mozilla/widget/src/mac/nsDragService.cpp&root=/cvsroot&mark=130,161#129 We could move it there and make it static... http://lxr.mozilla.org/seamonkey/search?string=GetFrameFromNode
Comment on attachment 187458 [details] [diff] [review] Patch rev. 2 looks good. The GetFrameFromNode cleanup sounds good too.
Attachment #187458 -
Flags: superreview?(roc)
Attachment #187458 -
Flags: superreview+
Attachment #187458 -
Flags: review?(roc)
Attachment #187458 -
Flags: review+
Comment 11•19 years ago
|
||
Comment on attachment 187458 [details] [diff] [review] Patch rev. 2 >Index: widget/src/xpwidgets/nsBaseDragService.cpp >=================================================================== >+ nsCOMPtr<nsIContent> contentNode = do_QueryInterface(aDOMNode); >+ if (contentNode) { >+ nsIDocument* doc = contentNode->GetDocument(); GetDocument is deprecated, see http://lxr.mozilla.org/seamonkey/source/content/base/public/nsIContent.h#78
Assignee | ||
Comment 12•19 years ago
|
||
Use GetCurrentDoc() instead of GetDocument()
Attachment #187458 -
Attachment is obsolete: true
Attachment #187522 -
Flags: superreview?(roc)
Attachment #187522 -
Flags: review?(roc)
Attachment #187522 -
Flags: approval1.8b3?
Assignee | ||
Updated•19 years ago
|
Attachment #187458 -
Flags: approval1.8b3?
Attachment #187522 -
Flags: superreview?(roc)
Attachment #187522 -
Flags: superreview+
Attachment #187522 -
Flags: review?(roc)
Attachment #187522 -
Flags: review+
Updated•19 years ago
|
Attachment #187522 -
Flags: approval1.8b3? → approval1.8b3+
Assignee | ||
Comment 13•19 years ago
|
||
Index: widget/src/xpwidgets/nsBaseDragService.cpp +#include "nsIViewManager.h" This broke the build :-( I attempted to fix it by adding 'view' to REQUIRES in Makefile.in, but that did not help... Help?
Assignee | ||
Comment 14•19 years ago
|
||
OK, it did fix it after all, it just took two cycles to take effect... --- widget/src/xpwidgets/Makefile.in 9 Dec 2004 19:28:34 -0000 1.67 +++ widget/src/xpwidgets/Makefile.in 28 Jun 2005 22:04:03 -0000 1.68 @@ -58,6 +58,7 @@ htmlparser \ uconv \ unicharutil \ + view \ $(NULL) Let me know if that isn't ok to have there.
widget/src/cocoa/nsChildView.mm included nsIScrollableView.h and has 'view' in REQUIRES. So that solution is fine.
Assignee | ||
Comment 16•19 years ago
|
||
OK, thanks. "Patch rev. 3" was checked in to trunk at 2005-06-28 14:40 PDT and the additional Makefile.in fix checked in at 2005-06-28 15:04 PDT -> FIXED
Status: NEW → RESOLVED
Closed: 19 years ago
Flags: blocking1.8b3?
Flags: blocking-aviary1.1?
Resolution: --- → FIXED
Updated•5 years ago
|
Component: Event Handling → User events and focus handling
You need to log in
before you can comment on or make changes to this bug.
Description
•