Prevent that content of upload box is lost on fast pasting many images

Change-Id: I41369e8fde03111143102eb04fee4fbc65aae7f0
Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
diff --git a/src/main/java/com/googlesource/gerrit/plugins/imagare/client/UploadByDropOrPastePanel.java b/src/main/java/com/googlesource/gerrit/plugins/imagare/client/UploadByDropOrPastePanel.java
index 7e559a6..a34d0ec 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/imagare/client/UploadByDropOrPastePanel.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/imagare/client/UploadByDropOrPastePanel.java
@@ -47,8 +47,12 @@
       }
     }
 
+    var imagareSavedContent;
+
     $wnd.imagarePasteHandler = function handlePaste(elem, e) {
-      var savedContent = elem.innerHTML;
+      if (!imagareSavedContent) {
+        imagareSavedContent = elem.innerHTML;
+      }
 
       var clipboardData = e.clipboardData || e.originalEvent.clipboardData;
       var items = clipboardData.items;
@@ -83,34 +87,33 @@
           elem.innerHTML = "";
         }
 
-        waitOnPaste(10, elem, savedContent);
+        waitOnPaste(10, elem);
       } else {
         // other browser
 
         elem.innerHTML = "";
-        waitOnPaste(10, elem, savedContent);
+        waitOnPaste(10, elem);
       }
     }
 
-    function waitOnPaste(max, elem, savedContent) {
+    function waitOnPaste(max, elem) {
       if (elem.childNodes && elem.childNodes.length > 0) {
-        stageImage(elem, savedContent);
+        stageImage(elem);
       } else if (max > 0) {
         that = {
           m: max - 1,
           e: elem,
-          s: savedContent
         }
         that.callself = function () {
-          waitOnPaste(that.m, that.e, that.s)
+          waitOnPaste(that.m, that.e)
         }
         setTimeout(that.callself, 20);
       }
     }
 
-    function stageImage(elem, savedContent) {
+    function stageImage(elem) {
       var imageData = elem.childNodes[0].getAttribute("src");
-      elem.innerHTML = savedContent;
+      elem.innerHTML = imagareSavedContent;
       @com.googlesource.gerrit.plugins.imagare.client.ImageUploader::stageImage(Ljava/lang/String;)(imageData);
     }
 
@@ -118,12 +121,14 @@
       if (window.chrome) {
         event.preventDefault();
       }
-      var savedContent = elem.innerHTML;
+      if (!imagareSavedContent) {
+        imagareSavedContent = elem.innerHTML;
+      }
       var f = event.dataTransfer.files[0];
       if (f) {
         var r = new FileReader();
         r.onload = function(e) {
-          elem.innerHTML = savedContent;
+          elem.innerHTML = imagareSavedContent;
           if (f.type.match('image/.*')) {
             @com.googlesource.gerrit.plugins.imagare.client.ImageUploader::stageImage(Ljava/lang/String;Ljava/lang/String;)(e.target.result, f.name);
           } else {