forked from mirrors/gecko-dev
		
	
		
			
				
	
	
		
			32 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /* Any copyright is dedicated to the Public Domain.
 | |
|    http://creativecommons.org/publicdomain/zero/1.0/ */
 | |
| 
 | |
| add_task(async function() {
 | |
|   await setLinks("0,1,2,3,4,5,6,7,8");
 | |
|   setPinnedLinks("");
 | |
| 
 | |
|   await addNewTabPageTab();
 | |
|   await checkGrid("0,1,2,3,4,5,6,7,8");
 | |
| 
 | |
|   await ContentTask.spawn(gBrowser.selectedBrowser, {}, async function() {
 | |
|     const BAD_DRAG_DATA = "javascript:alert('h4ck0rz');\nbad stuff";
 | |
|     const GOOD_DRAG_DATA = "http://example99.com/\nsite 99";
 | |
| 
 | |
|     function sendDropEvent(aCellIndex, aDragData) {
 | |
|       let dataTransfer = new content.DataTransfer("dragstart", false);
 | |
|       dataTransfer.mozSetDataAt("text/x-moz-url", aDragData, 0);
 | |
|       let event = content.document.createEvent("DragEvent");
 | |
|       event.initDragEvent("drop", true, true, content, 0, 0, 0, 0, 0,
 | |
|                           false, false, false, false, 0, null, dataTransfer);
 | |
| 
 | |
|       let target = content.gGrid.cells[aCellIndex].node;
 | |
|       target.dispatchEvent(event);
 | |
|     }
 | |
| 
 | |
|     sendDropEvent(0, BAD_DRAG_DATA);
 | |
|     sendDropEvent(1, GOOD_DRAG_DATA);
 | |
|   });
 | |
| 
 | |
|   await whenPagesUpdated();
 | |
|   await checkGrid("0,99p,1,2,3,4,5,6,7");
 | |
| });
 | 
