window.ondragdrop JS event is not getting triggered.

NEW
Unassigned

Status

()

Core
Event Handling
16 years ago
7 years ago

People

(Reporter: Madhur Bhatia, Unassigned)

Tracking

({helpwanted})

Trunk
mozilla1.2alpha
x86
All
helpwanted
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Reporter)

Description

16 years ago
platforms - all
OS - all

2001-10-22-0.9.4 branch build (NS6.2)
2001-11-26-6.2.1 rtm build (NS6.2.1)

Open the testcase and dragdrop any file or link onto this window. 

expected: 
an alert box is supposed to be displayed with the message "ondragdrop event has 
been triggered"

actual: 
the ondragdrop JS event is not getting triggered.

works fine on NS4.77
(Reporter)

Comment 1

16 years ago
Created attachment 59428 [details]
testcase

Comment 2

16 years ago
Is this really something we want untrusted web content to be able to detect?

Updated

16 years ago
Target Milestone: --- → mozilla1.2

Updated

16 years ago
QA Contact: madhur → rakeshmishra

Comment 3

15 years ago
It doesn't seem that this event is implemented.  It's also possible that I'm not
using it correctly, but there isn't much documentation available (only found
http://www.mozilla.org/docs/dom/domref/dom_window_ref57.html#1018270, which
doesn't say much).

Updated

15 years ago
QA Contact: rakeshmishra → trix

Comment 4

14 years ago
Note that this works in NS4 and that this is useful for creating a web kiosk
(see bug 152080).

Comment 5

14 years ago
.
Assignee: joki → saari
QA Contact: trix → ian

Comment 6

13 years ago
This bug hasn't had any activity in about 2 years, but it still exists, at least
in the latest Firefox builds.

I'm not sure why there isn't more interest expressed by end-users at this
missing functionality.

I've started a thread on this in the "Mozilla Bugs" forum:
http://forums.mozillazine.org/viewtopic.php?p=863806

Below is the revelant portion of my posting:

Neither the onDragDrop element attribute, as used in this demo:

http://developer.netscape.com/docs/technote/javascript/eventhandler/ondrag.htm

or the ondragdrop window property (window.ondragdrop), as discussed here:

http://www.faqts.com/knowledge_base/view.phtml/aid/2118

seem to work. They don't produce an error, but the handler never gets called.

This seems to be a capability left out of Mozilla (and in turn Firefox), yet
there doesn't appear to be[...]discussion on the forums, which makes me wonder
if it was an intentional omission. One reason why it might be intentional is
that to fully handle drag-and-drop you potentially need to set many attributes
(enabling the acceptance of dropped items, specifying the types of items
accepted, etc.) and handlers, though you can get away with defaults in many
cases. I could see developers arguing that merely providing a simple handler
would be an incomplete solution, and thus leaving the feature out until someone
was ready to implement the full capability. But I haven't seen any discussion
like that.

I have found that the DOM specified technique:

document.addEventListener("dragdrop", handler, true);

works in Firefox (and I'd assume Mozilla), but still find it odd that the other
documented forms are not functioning. 

 -Tom

Comment 7

13 years ago
Those are documented for Netscape 4, not for Mozilla.

Comment 8

13 years ago
(In reply to comment #7)
> Those are documented for Netscape 4, not for Mozilla.

http://www.mozilla.org/docs/dom/domref/dom_window_ref57.html
  window.ondragdrop
  An event handler for drag & drop events sent to the window.
[...]

Although at the bottom it says:
  Specification
  DOM Level 0. Not part of specification.

and I haven't been able to figure out yet whether that means not part of the W3C
spec., but part of Mozilla's spec., or the opposite.

Probably the former, if this is the applicable W3C spec:

(I don't see a "Level 0" spec. (unless that's shorthand for saying it isn't in
the spec.), but DOM Level 2 is from the same time period as the Mozilla document)
http://www.w3.org/TR/DOM-Level-2-Events/

The section specifically on ECMAScript Language Binding:
http://www.w3.org/TR/DOM-Level-2-Events/ecma-script-binding.html

or the newer DOM Level 3 equivalents:
http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107/
http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107/ecma-script-binding.html

None mention window.ondragdrop.

I see the HTML 4.01 spec. also doesn't list an "ondragdrop" event handler attribute:
http://www.w3.org/TR/html401/interact/scripts.html#h-18.2.3

which probably explains why it isn't implemented in Mozilla.

Maybe the needed patch is for the Mozilla spec. instead of the code. Ideally
leaving a placeholder referring people to the newer document.addEventListener() API.

I'm still curious to know why this was dropped, but that will probably require
data mining in the W3C working group list archives...

Comment 9

12 years ago
Interestingly, other drag events _are_ being triggered, just not dragdrop. 
Dragenter, dragover, dragexit, are all being triggered.  Dragdrop isn't included
in that list.  Here's a snippet of logged events arising from dragging an image
from one frame into another:
EVTYPE:dragenter
EVTYPE:dragenter
EVTYPE:dragover
EVTYPE:dragexit
EVTYPE:dragenter
EVTYPE:dragover
EVTYPE:dragexit
EVTYPE:dragenter
EVTYPE:dragover

Clarification: the destination frame into which I am dragging elements (imgs)
has an event handler that logs these events.

What is also interesting is that mouse events are not registered until I release
the held-mouse button that should terminate the drag.  I'd assume that this
would consist of a mouseup event, but no mouseup event is registered at that
time.  I must press the mouse button a second time before a mouseup event
actually is sent.

Tom Metro's previous comment seems to suggest that addEventListener
documentation provides an authoritative account of what the mozilla browser
supports and what it does not, yet the mozilla DOM documentation does describe
dragenter, dragover, dragexit, dragdrop events, and my above test case does
employ addEventListener to attach event handlers. If there is confusion
regarding what the mozilla browser does and does not support, then this
confusion has not yet been cleared up by mozilla documentation.

Updated

12 years ago
Assignee: saari → nobody
Keywords: helpwanted

Comment 10

10 years ago
Any updates?

Comment 11

10 years ago
(In reply to comment #10)
> Any updates?

Pardon my faux pas of providing no material benefit to the bug.

This bug is still present in FF3.0

It seems like it would be a very useful feature, especially in light of AJAX tools that do things like edit images (flickr, etc.) or edit documents (google docs). 

Is there a decision being made behind the scenes or subconsciously  (even inaction is an action) that isn't documented here?

Ciao!
QA Contact: ian → events

Comment 12

7 years ago
bump()
You need to log in before you can comment on or make changes to this bug.