1
1
; var MXI_DEBUG = true ;
2
2
/**
3
3
* mOxie - multi-runtime File API & XMLHttpRequest L2 Polyfill
4
- * v1.5.5
4
+ * v1.5.6
5
5
*
6
6
* Copyright 2013, Moxiecode Systems AB
7
7
* Released under GPL License.
8
8
*
9
9
* License: http://www.plupload.com/license
10
10
* Contributing: http://www.plupload.com/contributing
11
11
*
12
- * Date: 2017-08-26
12
+ * Date: 2017-10-02
13
13
*/
14
14
; ( function ( global , factory ) {
15
15
var extract = function ( ) {
@@ -1447,10 +1447,15 @@ define("moxie/core/utils/Env", [
1447
1447
return false ;
1448
1448
} ,
1449
1449
1450
- use_blob_uri : ( function ( ) {
1450
+ use_blob_uri : function ( ) {
1451
1451
var URL = window . URL ;
1452
- return URL && 'createObjectURL' in URL && 'revokeObjectURL' in URL ;
1453
- } ( ) ) ,
1452
+ caps . use_blob_uri = ( URL &&
1453
+ 'createObjectURL' in URL &&
1454
+ 'revokeObjectURL' in URL &&
1455
+ ( Env . browser !== 'IE' || Env . verComp ( Env . version , '11.0.46' , '>=' ) ) // IE supports createObjectURL, but not fully, for example it fails to use it as a src for the image
1456
+ ) ;
1457
+ return caps . use_blob_uri ;
1458
+ } ,
1454
1459
1455
1460
// ideas for this heavily come from Modernizr (http://modernizr.com/)
1456
1461
use_data_uri : ( function ( ) {
@@ -9365,8 +9370,7 @@ define("moxie/runtime/html5/image/Image", [
9365
9370
if ( blob . isDetached ( ) ) {
9366
9371
_binStr = blob . getSource ( ) ;
9367
9372
_preload . call ( this , _binStr ) ;
9368
- } else if ( Env . can ( 'use_blob_uri' ) ) {
9369
- _preload . call ( this , URL . createObjectURL ( blob . getSource ( ) ) ) ;
9373
+ return ;
9370
9374
} else {
9371
9375
_readAsDataUrl . call ( this , blob . getSource ( ) , function ( dataUrl ) {
9372
9376
if ( asBinary ) {
@@ -9378,23 +9382,15 @@ define("moxie/runtime/html5/image/Image", [
9378
9382
} ,
9379
9383
9380
9384
loadFromImage : function ( img , exact ) {
9381
- var comp = this ;
9382
- comp . meta = img . meta ;
9385
+ this . meta = img . meta ;
9383
9386
9384
9387
_blob = new File ( null , {
9385
9388
name : img . name ,
9386
9389
size : img . size ,
9387
9390
type : img . type
9388
9391
} ) ;
9389
9392
9390
- if ( Env . can ( 'create_canvas' ) && ! exact ) {
9391
- _canvas = img . getAsCanvas ( ) ;
9392
- setTimeout ( function ( ) {
9393
- comp . trigger ( 'load' ) ;
9394
- } ) ;
9395
- } else {
9396
- _preload . call ( this , exact ? ( _binStr = img . getAsBinaryString ( ) ) : img . getAsDataURL ( ) ) ;
9397
- }
9393
+ _preload . call ( this , exact ? ( _binStr = img . getAsBinaryString ( ) ) : img . getAsDataURL ( ) ) ;
9398
9394
} ,
9399
9395
9400
9396
getInfo : function ( ) {
@@ -9483,7 +9479,7 @@ define("moxie/runtime/html5/image/Image", [
9483
9479
var quality = arguments [ 1 ] || 90 ;
9484
9480
9485
9481
// if image has not been modified, return the source right away
9486
- if ( ! _modified && _img . src . substr ( 0 , 5 ) === 'data:' ) {
9482
+ if ( ! _modified ) {
9487
9483
return _img . src ;
9488
9484
}
9489
9485
@@ -9602,7 +9598,6 @@ define("moxie/runtime/html5/image/Image", [
9602
9598
9603
9599
function _preload ( str ) {
9604
9600
var comp = this ;
9605
- var prefix = str . substr ( 0 , 5 ) ;
9606
9601
9607
9602
_img = new Image ( ) ;
9608
9603
_img . onerror = function ( ) {
@@ -9613,7 +9608,7 @@ define("moxie/runtime/html5/image/Image", [
9613
9608
comp . trigger ( 'load' ) ;
9614
9609
} ;
9615
9610
9616
- _img . src = ( prefix === 'data:' || prefix === 'blob:' ? str : _toDataUrl ( str , _blob . type ) ) ;
9611
+ _img . src = str . substr ( 0 , 5 ) == 'data:' ? str : _toDataUrl ( str , _blob . type ) ;
9617
9612
}
9618
9613
9619
9614
@@ -9715,10 +9710,6 @@ define("moxie/runtime/html5/image/Image", [
9715
9710
_imgInfo = null ;
9716
9711
}
9717
9712
9718
- if ( _img && Env . can ( 'use_blob_uri' ) ) {
9719
- URL . revokeObjectURL ( _img . src ) ;
9720
- }
9721
-
9722
9713
_binStr = _img = _canvas = _blob = null ;
9723
9714
_modified = false ;
9724
9715
}
0 commit comments