diff --git a/js/filedrop.field.js b/js/filedrop.field.js
index d07a2a675455cf3c5af0f8046a82aa5822c4497b..4eb5d27e91ebdb78033b0e6cdab7e4d20b57f0f8 100644
--- a/js/filedrop.field.js
+++ b/js/filedrop.field.js
@@ -554,7 +554,7 @@
             if (fileIndex === files_count) {
               return;
             }
-            var reader = new FileReader(),
+            var reader = new window.FileReader(),
                 max_file_size = 1048576 * opts.maxfilesize;
 
             reader.index = fileIndex;
@@ -807,26 +807,4 @@
 
   function empty() {}
 
-  try {
-    if (XMLHttpRequest.prototype.sendAsBinary) {
-        return;
-    }
-    XMLHttpRequest.prototype.sendAsBinary = function(datastr) {
-      function byteValue(x) {
-        return x.charCodeAt(0) & 0xff;
-      }
-      var ords = Array.prototype.map.call(datastr, byteValue);
-      var ui8a = new Uint8Array(ords);
-
-      // Not pretty: Chrome 22 deprecated sending ArrayBuffer, moving instead
-      // to sending ArrayBufferView.  Sadly, no proper way to detect this
-      // functionality has been discovered.  Happily, Chrome 22 also introduced
-      // the base ArrayBufferView class, not present in Chrome 21.
-      if ('ArrayBufferView' in window)
-        this.send(ui8a);
-      else
-        this.send(ui8a.buffer);
-    };
-  } catch (e) {}
-
 })(jQuery);