From 8d37d687704f0f05863e7e045ae2531bf3b01aa5 Mon Sep 17 00:00:00 2001
From: chylex <contact@chylex.com>
Date: Sun, 31 Dec 2017 06:59:17 +0100
Subject: [PATCH] Fix dragging links not stripping t.co shortener

Closes #183
---
 Resources/Scripts/code.js | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/Resources/Scripts/code.js b/Resources/Scripts/code.js
index 9674c12c..16d5ccbe 100644
--- a/Resources/Scripts/code.js
+++ b/Resources/Scripts/code.js
@@ -420,7 +420,7 @@
   })();
   
   //
-  // Block: Bypass t.co when clicking links and media.
+  // Block: Bypass t.co when clicking/dragging links and media.
   //
   $(document.body).delegate("a[data-full-url]", "click auxclick", function(e){
     if (e.button === 0 || e.button === 1){ // event.which seems to be borked in auxclick
@@ -429,6 +429,16 @@
     }
   });
   
+  $(document.body).delegate("a[data-full-url]", "dragstart", function(e){
+    let url = $(this).attr("data-full-url");
+    let data = e.originalEvent.dataTransfer;
+    
+    data.clearData();
+    data.setData("text/uri-list", url);
+    data.setData("text/plain", url);
+    data.setData("text/html", `<a href="${url}">${url}</a>`);
+  });
+  
   if (ensurePropertyExists(TD, "services", "TwitterUser", "prototype", "fromJSONObject")){
     const prevFunc = TD.services.TwitterUser.prototype.fromJSONObject;