Browse Source

Removing set-presence-in-ImageData check from canvas.js

Manas (prometheansacrifice) 11 years ago
parent
commit
30e00bc573
  1. 13
      src/display/canvas.js
  2. 12
      web/compatibility.js

13
src/display/canvas.js

@ -507,20 +507,15 @@ var CanvasGraphics = (function CanvasGraphicsClosure() { @@ -507,20 +507,15 @@ var CanvasGraphics = (function CanvasGraphicsClosure() {
} else if (imgData.kind === ImageKind.RGBA_32BPP) {
// RGBA, 32-bits per pixel.
var haveSetAndSubarray = 'set' in dest && 'subarray' in src;
for (var i = 0; i < totalChunks; i++) {
var thisChunkHeight =
(i < fullChunks) ? fullChunkHeight : partialChunkHeight;
var elemsInThisChunk = imgData.width * thisChunkHeight * 4;
if (haveSetAndSubarray) {
dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));
srcPos += elemsInThisChunk;
} else {
for (var j = 0; j < elemsInThisChunk; j++) {
dest[j] = src[srcPos++];
}
}
dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));
srcPos += elemsInThisChunk;
ctx.putImageData(chunkImgData, 0, i * fullChunkHeight);
}

12
web/compatibility.js

@ -493,3 +493,15 @@ if (typeof PDFJS === 'undefined') { @@ -493,3 +493,15 @@ if (typeof PDFJS === 'undefined') {
PDFJS.disableHistory = true;
}
})();
(function checkSetPresenceInImageData() {
if (window.CanvasPixelArray) {
if (typeof window.CanvasPixelArray.prototype.set !== 'function') {
window.CanvasPixelArray.prototype.set = function(arr) {
for (var i = 0, ii = this.length; i < ii; i++) {
this[i] = arr[i];
}
};
}
}
})();

Loading…
Cancel
Save