Code Duplication    Length = 24-24 lines in 2 locations

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

@@ 448-471 (lines=24) @@
445
      }
446
      return anyUriToBlob(src);
447
    }
448
    function blobToImage(blob) {
449
      return new Promise(function (resolve, reject) {
450
        var blobUrl = URL.createObjectURL(blob);
451
        var image = new Image();
452
        var removeListeners = function () {
453
          image.removeEventListener('load', loaded);
454
          image.removeEventListener('error', error);
455
        };
456
        function loaded() {
457
          removeListeners();
458
          resolve(image);
459
        }
460
        function error() {
461
          removeListeners();
462
          reject('Unable to load data of type ' + blob.type + ': ' + blobUrl);
463
        }
464
        image.addEventListener('load', loaded);
465
        image.addEventListener('error', error);
466
        image.src = blobUrl;
467
        if (image.complete) {
468
          loaded();
469
        }
470
      });
471
    }
472
    function anyUriToBlob(url) {
473
      return new Promise(function (resolve, reject) {
474
        var xhr = new XMLHttpRequest();

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

@@ 5796-5819 (lines=24) @@
5793
      }
5794
      return anyUriToBlob(src);
5795
    }
5796
    function blobToImage(blob) {
5797
      return new Promise(function (resolve, reject) {
5798
        var blobUrl = URL.createObjectURL(blob);
5799
        var image = new Image();
5800
        var removeListeners = function () {
5801
          image.removeEventListener('load', loaded);
5802
          image.removeEventListener('error', error);
5803
        };
5804
        function loaded() {
5805
          removeListeners();
5806
          resolve(image);
5807
        }
5808
        function error() {
5809
          removeListeners();
5810
          reject('Unable to load data of type ' + blob.type + ': ' + blobUrl);
5811
        }
5812
        image.addEventListener('load', loaded);
5813
        image.addEventListener('error', error);
5814
        image.src = blobUrl;
5815
        if (image.complete) {
5816
          loaded();
5817
        }
5818
      });
5819
    }
5820
    function anyUriToBlob(url) {
5821
      return new Promise(function (resolve, reject) {
5822
        var xhr = new XMLHttpRequest();