[jit] Fix the saving of the 'cfg->ret_var_set' flag when inlining, it was set to...
[mono.git] / mcs / diff.html.in
index 370a2792281a28957f378999c2eec72a542f9fd4..d5a2246f3c85df64915b65a38de1a764676de2d0 100644 (file)
   <body style="font-family: 'Open Sans'">
     <h1>@title@</h1>
     <p>@description@</p>
-    <div id="diff"><!--<![CDATA[
+    <p>Download <a id="patchdownload" href="#">changes.patch</a> which can be applied with <code>git apply changes.patch</code>.</p>
+
+    <div id="diffsource" style="display:none"><!--<![CDATA[
 @diffdata@
 ]]>-->
     </div>
+    <div id="diff">Loading ...</div>
 
     <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.3/jquery.js"></script>
     <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.11.0/highlight.min.js"></script>
     <script src="https://cdnjs.cloudflare.com/ajax/libs/diff2html/2.3.0/diff2html.min.js"></script>
     <script src="https://cdnjs.cloudflare.com/ajax/libs/diff2html/2.3.0/diff2html-ui.min.js"></script>
 
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/1.3.3/FileSaver.min.js"></script>
+
     <script>
     $(document).ready(function() {
-        var diff2htmlUi = new Diff2HtmlUI({diff: $("#diff")[0].childNodes[0].nodeValue});
-        diff2htmlUi.draw('#diff', {showFiles: true, matching: 'lines'});
-        diff2htmlUi.highlightCode('#diff');
+        var diffText = $("#diffsource")[0].childNodes[0].nodeValue;
+        $("#diffsource").remove();
+        diffText = diffText.substring(10, diffText.length - 3);
+        if (diffText.length == 0) {
+          $("#diff").text("No changes found.");
+          return;
+        }
+
+        $("#patchdownload").click(function() {
+          var blob = new Blob([diffText], { type: "text/plain;charset=utf-8;" });
+          saveAs(blob, "changes.patch");
+        });
+
+        var diff2htmlUi = new Diff2HtmlUI({diff: diffText});
+        diff2htmlUi.draw('#diff', {showFiles: true, matching: 'none'});
+        setTimeout(function() {
+          diff2htmlUi.highlightCode('#diff');
+        }, 100);
     });
     </script>
   </body>