Code Duplication    Length = 26-26 lines in 2 locations

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

@@ 472-497 (lines=26) @@
469
        }
470
      });
471
    }
472
    function anyUriToBlob(url) {
473
      return new Promise(function (resolve, reject) {
474
        var xhr = new XMLHttpRequest();
475
        xhr.open('GET', url, true);
476
        xhr.responseType = 'blob';
477
        xhr.onload = function () {
478
          if (this.status == 200) {
479
            resolve(this.response);
480
          }
481
        };
482
        xhr.onerror = function () {
483
          var _this = this;
484
          var corsError = function () {
485
            var obj = new Error('No access to download image');
486
            obj.code = 18;
487
            obj.name = 'SecurityError';
488
            return obj;
489
          };
490
          var genericError = function () {
491
            return new Error('Error ' + _this.status + ' downloading image');
492
          };
493
          reject(this.status === 0 ? corsError() : genericError());
494
        };
495
        xhr.send();
496
      });
497
    }
498
    function dataUriToBlobSync(uri) {
499
      var data = uri.split(',');
500
      var matches = /data:([^;]+)/.exec(data[0]);

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

@@ 5820-5845 (lines=26) @@
5817
        }
5818
      });
5819
    }
5820
    function anyUriToBlob(url) {
5821
      return new Promise(function (resolve, reject) {
5822
        var xhr = new XMLHttpRequest();
5823
        xhr.open('GET', url, true);
5824
        xhr.responseType = 'blob';
5825
        xhr.onload = function () {
5826
          if (this.status == 200) {
5827
            resolve(this.response);
5828
          }
5829
        };
5830
        xhr.onerror = function () {
5831
          var _this = this;
5832
          var corsError = function () {
5833
            var obj = new Error('No access to download image');
5834
            obj.code = 18;
5835
            obj.name = 'SecurityError';
5836
            return obj;
5837
          };
5838
          var genericError = function () {
5839
            return new Error('Error ' + _this.status + ' downloading image');
5840
          };
5841
          reject(this.status === 0 ? corsError() : genericError());
5842
        };
5843
        xhr.send();
5844
      });
5845
    }
5846
    function dataUriToBlobSync(uri) {
5847
      var data = uri.split(',');
5848
      var matches = /data:([^;]+)/.exec(data[0]);