Closed Bug 932520 Opened 8 years ago Closed 8 years ago

Defect - HTML5 drag and drop does not work in metroFx

Categories

(Firefox for Metro Graveyard :: Browser, defect, P2)

x86_64
Windows 8.1
defect

Tracking

(Not tracked)

VERIFIED FIXED
Firefox 28

People

(Reporter: TimAbraldes, Assigned: TimAbraldes)

References

Details

(Whiteboard: [block28] feature=defect c=tbd u=tbd p=5)

Attachments

(2 files)

Based on bug 881989 comment 9 it appears that we do not support HTML5 drag and drop, and it's causing issues in gmail and outlook.com
Whiteboard: [triage] → [triage] feature=defect c=tbd u=tbd p=0
Whiteboard: [triage] feature=defect c=tbd u=tbd p=0 → [block28] feature=defect c=tbd u=tbd p=0
Test site: http://html5demos.com/drag
Assignee: nobody → rsilveira
Status: NEW → ASSIGNED
Blocks: metrov1it19
No longer blocks: metrov1backlog
Priority: -- → P2
QA Contact: jbecerra
Adjusting point estimate to p=5.
Whiteboard: [block28] feature=defect c=tbd u=tbd p=0 → [block28] feature=defect c=tbd u=tbd p=5
Attached file html5dnd.zip
Code from html5 with logging.
Assigning to Tim who
Assignee: rsilveira → tabraldes
... kindly offered to take this as he's been working on DnD on desktop recently.

The native drag and drop method is returning DRAGDROP_ACTION_NONE at http://mxr.mozilla.org/mozilla-central/source/widget/windows/nsDragService.cpp#277. Tim suspects we need to hook up drop target on our window.
Attached patch 932520.patchSplinter Review
Tested this patch on the following:
  - HTML5 drag and drop (used the html5rocks demo)
  - Dragging from the URL bar to text input
  - Dragging from MetroFx to desktop apps
  - (!) Dragging from desktop apps to MetroFx

Only the last item (marked with a '!') didn't seem to work properly. I'll investigate, but we may want to just land this patch and file a new bug. Will post back to this bug when I've investigated.
Comment on attachment 831934 [details] [diff] [review]
932520.patch

I did some further testing using some of the pre-installed immersive apps: They don't seem to support drag and drop to/from other applications at all.

In fact, dragging over any immersive app (besides Firefox, presumably) causes the cursor to change to the "you can't drop here" cursor permanently, regardless of where you move the drag later and whether you can in fact perform a drop.

Let's get this change in, and I'll file follow-ups for the following:
  - Support dragging from other apps to MetroFx
  - Dragging over a metro app causes the cursor to change permanently to the "drop disabled" cursor

Note that we'll have to investigate each of those issues since it might be possible that there are OS limitations causing them.
Attachment #831934 - Flags: review?(jmathies)
Comment on attachment 831934 [details] [diff] [review]
932520.patch

looks good!
Attachment #831934 - Flags: review?(jmathies) → review+
I'm seeing a mochitest-metro failure with this patch applied. I'll figure out what's going on there before pushing
No test failure building with only this patch applied (I had had other patches applied previously). I'll land on fx-team whenever it opens back up
Built and re-tested today (ran mochitest-metro locally), but fx-team closed while I was doing that. Will land when it's open again.
(In reply to Tim Abraldes [:TimAbraldes] [:tabraldes] from comment #12)
> Pushed to inbound:

Err, I meant "pushed to fx-team"
https://hg.mozilla.org/mozilla-central/rev/832f40264880
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 28
While testing this for iteration #19, with latest Nightly from 2013-12-01, on Win 8.1 Pro 64-bit:

1) http://html5demos.com/drag works the same in Desktop and Metro mode

2) I can still reproduce the issue from bug 881989 comment 0, with both Gmail and Outlook

Any thoughts/suggestions? Thanks!
Flags: needinfo?(tabraldes)
bug 881989 and bug 906034 are still open because they were not fixed by the patch in this bug. To verify this bug, just test the html5 drag and drop demos. Thanks!
Flags: needinfo?(tabraldes)
Verified as fixed based on comment 15 and comment 16. Thanks Tim!
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.