@@ -33,6 +33,10 @@ var Array = global.Array;
3333var Date = global . Date ;
3434var Error = global . Error ;
3535var TypeError = global . TypeError ;
36+ var ArrayBuffer = global . ArrayBuffer ;
37+ var DataView = global . DataView ;
38+ var getUint8 = uncurryThis ( DataView . prototype . getUint8 ) ;
39+ var setUint8 = uncurryThis ( DataView . prototype . setUint8 ) ;
3640var PerformanceMark = global . PerformanceMark ;
3741// dependency: web.dom-exception.constructor
3842var DOMException = getBuiltIn ( 'DOMException' ) ;
@@ -150,11 +154,6 @@ var cloneBuffer = function (value, map, $type) {
150154 // SharedArrayBuffer should use shared memory, we can't polyfill it, so return the original
151155 else clone = value ;
152156 } else {
153- var DataView = global . DataView ;
154-
155- // `ArrayBuffer#slice` is not available in IE10
156- // `ArrayBuffer#slice` and `DataView` are not available in old FF
157- if ( ! DataView && ! isCallable ( value . slice ) ) throwUnpolyfillable ( 'ArrayBuffer' ) ;
158157 // detached buffers throws in `DataView` and `.slice`
159158 try {
160159 if ( isCallable ( value . slice ) && ! value . resizable ) {
@@ -167,7 +166,7 @@ var cloneBuffer = function (value, map, $type) {
167166 source = new DataView ( value ) ;
168167 target = new DataView ( clone ) ;
169168 for ( i = 0 ; i < length ; i ++ ) {
170- target . setUint8 ( i , source . getUint8 ( i ) ) ;
169+ setUint8 ( target , i , getUint8 ( source , i ) ) ;
171170 }
172171 }
173172 } catch ( error ) {
0 commit comments