Code Duplication    Length = 23-23 lines in 2 locations

public/js/tinymce/plugins/imagetools/plugin.js 1 location

@@ 498-520 (lines=23) @@
495
        xhr.send();
496
      });
497
    }
498
    function dataUriToBlobSync(uri) {
499
      var data = uri.split(',');
500
      var matches = /data:([^;]+)/.exec(data[0]);
501
      if (!matches)
502
        return Option.none();
503
      var mimetype = matches[1];
504
      var base64 = data[1];
505
      var sliceSize = 1024;
506
      var byteCharacters = Window.atob(base64);
507
      var bytesLength = byteCharacters.length;
508
      var slicesCount = Math.ceil(bytesLength / sliceSize);
509
      var byteArrays = new Array(slicesCount);
510
      for (var sliceIndex = 0; sliceIndex < slicesCount; ++sliceIndex) {
511
        var begin = sliceIndex * sliceSize;
512
        var end = Math.min(begin + sliceSize, bytesLength);
513
        var bytes = new Array(end - begin);
514
        for (var offset = begin, i = 0; offset < end; ++i, ++offset) {
515
          bytes[i] = byteCharacters[offset].charCodeAt(0);
516
        }
517
        byteArrays[sliceIndex] = Uint8Array(bytes);
518
      }
519
      return Option.some(Blob(byteArrays, { type: mimetype }));
520
    }
521
    function dataUriToBlob(uri) {
522
      return new Promise(function (resolve, reject) {
523
        dataUriToBlobSync(uri).fold(function () {

public/js/tinymce/themes/mobile/theme.js 1 location

@@ 5846-5868 (lines=23) @@
5843
        xhr.send();
5844
      });
5845
    }
5846
    function dataUriToBlobSync(uri) {
5847
      var data = uri.split(',');
5848
      var matches = /data:([^;]+)/.exec(data[0]);
5849
      if (!matches)
5850
        return Option.none();
5851
      var mimetype = matches[1];
5852
      var base64 = data[1];
5853
      var sliceSize = 1024;
5854
      var byteCharacters = Window.atob(base64);
5855
      var bytesLength = byteCharacters.length;
5856
      var slicesCount = Math.ceil(bytesLength / sliceSize);
5857
      var byteArrays = new Array(slicesCount);
5858
      for (var sliceIndex = 0; sliceIndex < slicesCount; ++sliceIndex) {
5859
        var begin = sliceIndex * sliceSize;
5860
        var end = Math.min(begin + sliceSize, bytesLength);
5861
        var bytes = new Array(end - begin);
5862
        for (var offset = begin, i = 0; offset < end; ++i, ++offset) {
5863
          bytes[i] = byteCharacters[offset].charCodeAt(0);
5864
        }
5865
        byteArrays[sliceIndex] = Uint8Array(bytes);
5866
      }
5867
      return Option.some(Blob(byteArrays, { type: mimetype }));
5868
    }
5869
    function dataUriToBlob(uri) {
5870
      return new Promise(function (resolve, reject) {
5871
        dataUriToBlobSync(uri).fold(function () {