Merge pull request #19760 from Snuffleupagus/OperatorList-transfers-bitmap
Also transfer `ImageBitmap`s for image masks and inline images
This commit is contained in:
commit
16c876569f
@ -768,18 +768,20 @@ class OperatorList {
|
|||||||
switch (fnArray[i]) {
|
switch (fnArray[i]) {
|
||||||
case OPS.paintInlineImageXObject:
|
case OPS.paintInlineImageXObject:
|
||||||
case OPS.paintInlineImageXObjectGroup:
|
case OPS.paintInlineImageXObjectGroup:
|
||||||
case OPS.paintImageMaskXObject:
|
case OPS.paintImageMaskXObject: {
|
||||||
const arg = argsArray[i][0]; // First parameter in imgData.
|
const { bitmap, data } = argsArray[i][0]; // First parameter in imgData.
|
||||||
if (arg.data?.buffer instanceof ArrayBuffer) {
|
if (bitmap || data?.buffer) {
|
||||||
transfers.push(arg.data.buffer);
|
transfers.push(bitmap || data.buffer);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case OPS.constructPath:
|
}
|
||||||
|
case OPS.constructPath: {
|
||||||
const [, [data], minMax] = argsArray[i];
|
const [, [data], minMax] = argsArray[i];
|
||||||
if (data) {
|
if (data) {
|
||||||
transfers.push(data.buffer, minMax.buffer);
|
transfers.push(data.buffer, minMax.buffer);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
case OPS.paintFormXObjectBegin:
|
case OPS.paintFormXObjectBegin:
|
||||||
const [matrix, bbox] = argsArray[i];
|
const [matrix, bbox] = argsArray[i];
|
||||||
if (matrix) {
|
if (matrix) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user