Skip to content
This repository has been archived by the owner on Aug 20, 2018. It is now read-only.

Commit

Permalink
Revert "Bug 515776 - controller.dragToElement() for drag and drop aut…
Browse files Browse the repository at this point in the history
…omation"

This reverts commit f59827a.
  • Loading branch information
harthur committed Jan 12, 2011
1 parent f59827a commit ec0f9fb
Show file tree
Hide file tree
Showing 8 changed files with 26 additions and 192 deletions.
13 changes: 0 additions & 13 deletions mozmill/mozmill/extension/content/test/test.css

This file was deleted.

35 changes: 0 additions & 35 deletions mozmill/mozmill/extension/content/test/test.html

This file was deleted.

16 changes: 0 additions & 16 deletions mozmill/mozmill/extension/content/test/test.js

This file was deleted.

22 changes: 0 additions & 22 deletions mozmill/mozmill/extension/content/test/test.xul

This file was deleted.

71 changes: 26 additions & 45 deletions mozmill/mozmill/extension/resource/modules/controller.js
Original file line number Diff line number Diff line change
Expand Up @@ -1125,55 +1125,36 @@ MozMillController.prototype.mouseMove = function (doc, start, dest) {
return true;
}

// Drag an element to the specified offset on another element, firing mouse and drag events.
// Returns the captured dropEffect. Adapted from EventUtils' synthesizeDrop()
MozMillController.prototype.dragToElement = function(srcElement, destElement, aWindow,
offsetX, offsetY, dropEffect, dragData) {
aWindow = aWindow || window;
offsetX = offsetX || 20;
offsetY = offsetY || 20;

var dataTransfer;

var trapDrag = function(event) {
dataTransfer = event.dataTransfer;
if(!dragData)
return;

for (var i = 0; i < dragData.length; i++) {
var item = dragData[i];
for (var j = 0; j < item.length; j++) {
dataTransfer.mozSetDataAt(item[j].type, item[j].data, i);
}
}
dataTransfer.dropEffect = dropEffect || "move";
event.preventDefault();
event.stopPropagation();
}
//Drag one eleent to the top x,y coords of another specified element
MozMillController.prototype.dragDropElemToElem = function (dstart, ddest) {
//Get the drag and dest
var drag = dstart.getNode();
var dest = ddest.getNode();

aWindow.addEventListener("dragstart", trapDrag, true);
EventUtils.synthesizeMouse(srcElement, 2, 2, { type: "mousedown" }, aWindow); // mousedown on element
EventUtils.synthesizeMouse(srcElement, 11, 11, { type: "mousemove" }, aWindow); // mousemove over element
EventUtils.synthesizeMouse(srcElement, offsetX, offsetY, { type: "mousemove" }, aWindow);
aWindow.removeEventListener("dragstart", trapDrag, true);

var event = aWindow.document.createEvent("DragEvents");
event.initDragEvent("dragenter", true, true, aWindow, 0, 0, 0, 0, 0, false, false, false, false, 0, null, dataTransfer);
destElement.dispatchEvent(event);

var event = aWindow.document.createEvent("DragEvents");
event.initDragEvent("dragover", true, true, aWindow, 0, 0, 0, 0, 0, false, false, false, false, 0, null, dataTransfer);
if (destElement.dispatchEvent(event)) {
EventUtils.synthesizeMouse(destElement, offsetX, offsetY, { type: "mouseup" }, aWindow);
return "none";
//if one of these elements couldn't be looked up
if (!drag){
throw new Error("could not find element " + drag.getInfo());
return false;
}
if (!dest){
throw new Error("could not find element " + dest.getInfo());
return false;
}

var dragCoords = null;
var destCoords = null;

event = aWindow.document.createEvent("DragEvents");
event.initDragEvent("drop", true, true, aWindow, 0, 0, 0, 0, 0, false, false, false, false, 0, null, dataTransfer);
destElement.dispatchEvent(event);
EventUtils.synthesizeMouse(destElement, offsetX, offsetY, { type: "mouseup" }, aWindow);
dragCoords = drag.getBoundingClientRect();
destCoords = dest.getBoundingClientRect();

return dataTransfer.dropEffect;
//Do the initial move to the drag element position
events.triggerMouseEvent(drag.ownerDocument.body, 'mousemove', true, dragCoords.left, dragCoords.top);
events.triggerMouseEvent(drag, 'mousedown', true, dragCoords.left, dragCoords.top); //do the mousedown
events.triggerMouseEvent(drag.ownerDocument.body, 'mousemove', true, destCoords.left, destCoords.top);
events.triggerMouseEvent(dest, 'mouseup', true, destCoords.left, destCoords.top);
events.triggerMouseEvent(dest, 'click', true, destCoords.left, destCoords.top);
frame.events.pass({'function':'Controller.dragDropElemToElem()'});
return true;
}

function preferencesAdditions(controller) {
Expand Down
27 changes: 0 additions & 27 deletions mozmill/test/dnd/tabview.js

This file was deleted.

17 changes: 0 additions & 17 deletions mozmill/test/dnd/testhtml.js

This file was deleted.

17 changes: 0 additions & 17 deletions mozmill/test/dnd/testxul.js

This file was deleted.

0 comments on commit ec0f9fb

Please sign in to comment.