Issue in Drag&Drop? Works from direct connection but not through Facebo

Hello

I have implemented a DropHandler to a table. I want to be able to sort rows by draging. Found this thread and implemented my Drag&Drop support same way.

Theread is:
Drag and drop rows in a Table

That way works with Eclipse’s browser and with IE when I connect directly to localhost. When I use my application as a Facebook application. (Inside iFrame, redirection and so on…) Drag halts the application totally, it never gets to Drop-listener. It just halts right after drag starts.

I dont know ho to solve this or if there is some issue with Drag&Drop / iFrame / Facebook.
I wont paste my DropListener code here, cause it dosnt matter if there is code or not, application halts before it gets called.

Any ideas / toughts? I could implement row ordering with arrow buttons or so, but I would prefer Drag&Drop.

More testing… Eclipse’s browser crashes same way was IE when I run application inside Facebook. BUT, it works flawlessly when I use Firefox. Actually, it works better with Firefox inside / outside Facebook than with IE outside Facebook. With IE I have a problem, that when I drag a row to new place and want to drag same row to second place I first have to de-select the row and then select it again. Using Firefox I can keep dragging the row to new position.

And more testing. Problem occurs only with IE8 and inside Facebook’s iFrame. I dont know if it happens inside any iFrame or just Facebook’s when I run application as Facebook application. But it works with IE8’s IE7 mode and Firefox.

Heres simple code, that brings the problem:

package com.example.vaadin;

import com.vaadin.Application;
import com.vaadin.ui.Table;
import com.vaadin.ui.Table.TableDragMode;
import com.vaadin.ui.Window;

public class VaadinApplication extends Application {

	private static final long serialVersionUID = 1L;
	
	private  Table teamTable;
	private TeamContainer teamDataContainer;
	private Window mainWindow;

	@Override
	public void init() {
		this.mainWindow = new Window("Vaadin Application");
		super.setMainWindow(this.mainWindow);	
		this.initTeamTable();
		this.mainWindow.addComponent(this.teamTable);
	}

	private void initTeamTable() {
		this.teamTable = new Table();
		this.teamDataContainer = new TeamContainer();
		this.teamDataContainer.fillWithTestdata();

		this.teamTable.setContainerDataSource(this.teamDataContainer);
		this.teamTable.setSelectable(true);
		this.teamTable.setDragMode(TableDragMode.ROW);
	}
}
package com.example.vaadin;

import java.io.Serializable;
import com.vaadin.data.util.BeanItemContainer;

public class TeamContainer extends BeanItemContainer<Team> implements Serializable {

	private static final long serialVersionUID = 1L;

	public TeamContainer() {
		super(Team.class);
	}
	
	public void fillWithTestdata() {
		this.addItem( new Team("Team 1",1));
		this.addItem( new Team("Team 2",2));
		this.addItem( new Team("Team 3",3));
		this.addItem( new Team("Team 4",4));
		this.addItem( new Team("Team 5",5));
	}
}

And if anyone feels like testing that code as Facebook application = bring the problem visible, heres a link (No need for Facebook account):


Link to Facebook app (Works as long as my machine is on and IP stays same)


And same without Facebook, and now it works with IE8

I dont know what to do or how to debug / test anymore, any ideas?