pdfjs-dist 2.2.228 → 2.6.347
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of pdfjs-dist might be problematic. Click here for more details.
- package/README.md +4 -0
- package/bower.json +1 -1
- package/build/pdf.js +8816 -19300
- package/build/pdf.js.map +1 -1
- package/build/pdf.min.js +22 -1
- package/build/pdf.worker.entry.js +5 -3
- package/build/pdf.worker.js +27185 -35746
- package/build/pdf.worker.js.map +1 -1
- package/build/pdf.worker.min.js +22 -1
- package/es5/build/pdf.js +26665 -0
- package/es5/build/pdf.js.map +1 -0
- package/es5/build/pdf.min.js +22 -0
- package/{lib/shared/global_scope.js → es5/build/pdf.worker.entry.js} +5 -10
- package/es5/build/pdf.worker.js +61231 -0
- package/es5/build/pdf.worker.js.map +1 -0
- package/es5/build/pdf.worker.min.js +22 -0
- package/es5/image_decoders/pdf.image_decoders.js +12529 -0
- package/es5/image_decoders/pdf.image_decoders.js.map +1 -0
- package/es5/image_decoders/pdf.image_decoders.min.js +22 -0
- package/es5/web/images/annotation-check.svg +11 -0
- package/es5/web/images/annotation-comment.svg +16 -0
- package/es5/web/images/annotation-help.svg +26 -0
- package/es5/web/images/annotation-insert.svg +10 -0
- package/es5/web/images/annotation-key.svg +11 -0
- package/es5/web/images/annotation-newparagraph.svg +11 -0
- package/es5/web/images/annotation-noicon.svg +7 -0
- package/es5/web/images/annotation-note.svg +42 -0
- package/es5/web/images/annotation-paragraph.svg +16 -0
- package/es5/web/images/loading-icon.gif +0 -0
- package/es5/web/images/shadow.png +0 -0
- package/es5/web/pdf_viewer.css +406 -0
- package/es5/web/pdf_viewer.js +7886 -0
- package/es5/web/pdf_viewer.js.map +1 -0
- package/image_decoders/pdf.image_decoders.js +1498 -4832
- package/image_decoders/pdf.image_decoders.js.map +1 -1
- package/image_decoders/pdf.image_decoders.min.js +22 -1
- package/lib/README.md +7 -0
- package/lib/core/annotation.js +1144 -927
- package/lib/core/arithmetic_decoder.js +81 -97
- package/lib/core/bidi.js +54 -46
- package/lib/core/ccitt.js +88 -81
- package/lib/core/ccitt_stream.js +15 -14
- package/lib/core/cff_parser.js +747 -716
- package/lib/core/charsets.js +4 -4
- package/lib/core/chunked_stream.js +462 -553
- package/lib/core/cmap.js +231 -277
- package/lib/core/colorspace.js +715 -857
- package/lib/core/core_utils.js +57 -52
- package/lib/core/crypto.js +416 -437
- package/lib/core/document.js +629 -670
- package/lib/core/encodings.js +15 -15
- package/lib/core/evaluator.js +3229 -2800
- package/lib/core/font_renderer.js +135 -178
- package/lib/core/fonts.js +602 -534
- package/lib/core/function.js +355 -279
- package/lib/core/glyphlist.js +4527 -4526
- package/lib/core/image.js +442 -439
- package/lib/core/image_utils.js +221 -61
- package/lib/core/jbig2.js +325 -316
- package/lib/core/jbig2_stream.js +18 -17
- package/lib/core/jpeg_stream.js +21 -26
- package/lib/core/jpg.js +289 -233
- package/lib/core/jpx.js +161 -143
- package/lib/core/jpx_stream.js +28 -28
- package/lib/core/metrics.js +2928 -2928
- package/lib/core/murmurhash3.js +87 -102
- package/lib/core/obj.js +1343 -1300
- package/lib/core/operator_list.js +90 -67
- package/lib/core/parser.js +990 -987
- package/lib/core/pattern.js +105 -77
- package/lib/core/pdf_manager.js +149 -316
- package/lib/core/primitives.js +156 -104
- package/lib/core/ps_parser.js +175 -214
- package/lib/core/standard_fonts.js +237 -236
- package/lib/core/stream.js +94 -74
- package/lib/core/type1_parser.js +89 -69
- package/lib/core/unicode.js +1654 -1654
- package/lib/core/worker.js +275 -290
- package/lib/core/worker_stream.js +101 -210
- package/lib/core/writer.js +242 -0
- package/lib/display/annotation_layer.js +772 -1041
- package/lib/display/annotation_storage.js +89 -0
- package/lib/display/api.js +1575 -1868
- package/lib/display/api_compatibility.js +12 -17
- package/lib/display/canvas.js +370 -222
- package/lib/display/content_disposition.js +40 -59
- package/lib/display/display_utils.js +341 -536
- package/lib/display/fetch_stream.js +188 -304
- package/lib/display/font_loader.js +282 -414
- package/lib/display/metadata.js +81 -99
- package/lib/display/network.js +362 -511
- package/lib/display/network_utils.js +25 -18
- package/lib/display/node_stream.js +283 -465
- package/lib/display/node_utils.js +87 -0
- package/lib/display/optional_content_config.js +184 -0
- package/lib/display/pattern_helper.js +93 -44
- package/lib/display/svg.js +1163 -1401
- package/lib/display/text_layer.js +154 -137
- package/lib/display/transport_stream.js +237 -375
- package/lib/display/webgl.js +70 -83
- package/lib/display/worker_options.js +3 -3
- package/lib/display/xml_parser.js +303 -392
- package/lib/examples/node/domstubs.js +37 -37
- package/lib/pdf.js +220 -58
- package/lib/pdf.worker.js +14 -6
- package/lib/shared/compatibility.js +3 -246
- package/lib/shared/is_node.js +7 -6
- package/lib/shared/message_handler.js +327 -332
- package/lib/shared/util.js +271 -306
- package/lib/test/unit/annotation_spec.js +1902 -763
- package/lib/test/unit/annotation_storage_spec.js +83 -0
- package/lib/test/unit/api_spec.js +790 -592
- package/lib/test/unit/bidi_spec.js +7 -7
- package/lib/test/unit/cff_parser_spec.js +73 -72
- package/lib/test/unit/clitests_helper.js +7 -9
- package/lib/test/unit/cmap_spec.js +86 -88
- package/lib/test/unit/colorspace_spec.js +346 -154
- package/lib/test/unit/core_utils_spec.js +125 -105
- package/lib/test/unit/crypto_spec.js +232 -185
- package/lib/test/unit/custom_spec.js +150 -24
- package/lib/test/unit/display_svg_spec.js +34 -39
- package/lib/test/unit/display_utils_spec.js +139 -149
- package/lib/test/unit/document_spec.js +128 -17
- package/lib/test/unit/encodings_spec.js +12 -34
- package/lib/test/unit/evaluator_spec.js +112 -91
- package/lib/test/unit/fetch_stream_spec.js +31 -29
- package/lib/test/unit/function_spec.js +206 -204
- package/lib/test/unit/jasmine-boot.js +48 -32
- package/lib/test/unit/message_handler_spec.js +173 -159
- package/lib/test/unit/metadata_spec.js +71 -71
- package/lib/test/unit/murmurhash3_spec.js +12 -12
- package/lib/test/unit/network_spec.js +13 -11
- package/lib/test/unit/network_utils_spec.js +158 -144
- package/lib/test/unit/node_stream_spec.js +76 -90
- package/lib/test/unit/parser_spec.js +108 -114
- package/lib/test/unit/pdf_find_controller_spec.js +55 -86
- package/lib/test/unit/pdf_find_utils_spec.js +32 -32
- package/lib/test/unit/pdf_history_spec.js +32 -32
- package/lib/test/unit/primitives_spec.js +337 -156
- package/lib/test/unit/stream_spec.js +16 -14
- package/lib/test/unit/test_utils.js +91 -304
- package/lib/test/unit/testreporter.js +33 -22
- package/lib/test/unit/type1_parser_spec.js +42 -42
- package/lib/test/unit/ui_utils_spec.js +299 -461
- package/lib/test/unit/unicode_spec.js +42 -42
- package/lib/test/unit/util_spec.js +129 -149
- package/lib/test/unit/writer_spec.js +84 -0
- package/lib/web/annotation_layer_builder.js +78 -111
- package/lib/web/app.js +1542 -1267
- package/lib/web/app_options.js +76 -91
- package/lib/web/base_tree_viewer.js +100 -0
- package/lib/web/base_viewer.js +869 -834
- package/lib/web/chromecom.js +165 -252
- package/lib/web/debugger.js +149 -205
- package/lib/web/download_manager.js +34 -58
- package/lib/web/firefox_print_service.js +62 -34
- package/lib/web/firefoxcom.js +206 -374
- package/lib/web/genericcom.js +26 -108
- package/lib/web/genericl10n.js +24 -153
- package/lib/web/grab_to_pan.js +30 -30
- package/lib/web/interfaces.js +80 -254
- package/lib/web/overlay_manager.js +70 -246
- package/lib/web/password_prompt.js +38 -64
- package/lib/web/pdf_attachment_viewer.js +150 -126
- package/lib/web/pdf_cursor_tools.js +75 -102
- package/lib/web/pdf_document_properties.js +229 -383
- package/lib/web/pdf_find_bar.js +136 -170
- package/lib/web/pdf_find_controller.js +492 -548
- package/lib/web/pdf_find_utils.js +13 -13
- package/lib/web/pdf_history.js +397 -406
- package/lib/web/pdf_layer_viewer.js +208 -0
- package/lib/web/pdf_link_service.js +304 -348
- package/lib/web/pdf_outline_viewer.js +119 -212
- package/lib/web/pdf_page_view.js +474 -513
- package/lib/web/pdf_presentation_mode.js +308 -357
- package/lib/web/pdf_print_service.js +96 -110
- package/lib/web/pdf_rendering_queue.js +87 -108
- package/lib/web/pdf_sidebar.js +286 -302
- package/lib/web/pdf_sidebar_resizer.js +92 -119
- package/lib/web/pdf_single_page_viewer.js +77 -126
- package/lib/web/pdf_thumbnail_view.js +289 -297
- package/lib/web/pdf_thumbnail_viewer.js +202 -206
- package/lib/web/pdf_viewer.component.js +20 -21
- package/lib/web/pdf_viewer.js +55 -115
- package/lib/web/preferences.js +69 -273
- package/lib/web/secondary_toolbar.js +164 -196
- package/lib/web/text_layer_builder.js +284 -319
- package/lib/web/toolbar.js +217 -210
- package/lib/web/ui_utils.js +274 -421
- package/lib/web/view_history.js +52 -226
- package/lib/web/viewer_compatibility.js +21 -6
- package/package.json +4 -9
- package/types/display/annotation_layer.d.ts +61 -0
- package/types/display/annotation_storage.d.ts +36 -0
- package/types/display/api.d.ts +1107 -0
- package/types/display/api_compatibility.d.ts +1 -0
- package/types/display/canvas.d.ts +4 -0
- package/types/display/content_disposition.d.ts +7 -0
- package/types/display/display_utils.d.ts +243 -0
- package/types/display/fetch_stream.d.ts +67 -0
- package/types/display/font_loader.d.ts +19 -0
- package/types/display/metadata.d.ts +9 -0
- package/types/display/network.d.ts +80 -0
- package/types/display/network_utils.d.ts +14 -0
- package/types/display/node_stream.d.ts +72 -0
- package/types/display/node_utils.d.ts +6 -0
- package/types/display/optional_content_config.d.ts +12 -0
- package/types/display/pattern_helper.d.ts +5 -0
- package/types/display/svg.d.ts +2 -0
- package/types/display/text_layer.d.ts +83 -0
- package/types/display/transport_stream.d.ts +57 -0
- package/types/display/webgl.d.ts +20 -0
- package/types/display/worker_options.d.ts +27 -0
- package/types/display/xml_parser.d.ts +35 -0
- package/types/pdf.d.ts +33 -0
- package/types/shared/compatibility.d.ts +1 -0
- package/types/shared/is_node.d.ts +1 -0
- package/types/shared/message_handler.d.ts +62 -0
- package/types/shared/util.d.ts +421 -0
- package/web/images/shadow.png +0 -0
- package/web/pdf_viewer.css +29 -27
- package/web/pdf_viewer.js +3524 -4746
- package/web/pdf_viewer.js.map +1 -1
- package/webpack.js +6 -5
- package/external/streams/streams-lib.js +0 -3962
- package/external/url/url-lib.js +0 -627
- package/lib/shared/streams_polyfill.js +0 -43
- package/lib/shared/url_polyfill.js +0 -56
- package/web/images/texture.png +0 -0
@@ -2,7 +2,7 @@
|
|
2
2
|
* @licstart The following is the entire license notice for the
|
3
3
|
* Javascript code in this page
|
4
4
|
*
|
5
|
-
* Copyright
|
5
|
+
* Copyright 2020 Mozilla Foundation
|
6
6
|
*
|
7
7
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
8
8
|
* you may not use this file except in compliance with the License.
|
@@ -26,7 +26,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
26
26
|
});
|
27
27
|
exports.OperatorList = void 0;
|
28
28
|
|
29
|
-
var _util = require("../shared/util");
|
29
|
+
var _util = require("../shared/util.js");
|
30
30
|
|
31
31
|
var QueueOptimizer = function QueueOptimizerClosure() {
|
32
32
|
function addState(parentState, pattern, checkFn, iterateFn, processFn) {
|
@@ -38,9 +38,9 @@ var QueueOptimizer = function QueueOptimizerClosure() {
|
|
38
38
|
}
|
39
39
|
|
40
40
|
state[pattern[pattern.length - 1]] = {
|
41
|
-
checkFn
|
42
|
-
iterateFn
|
43
|
-
processFn
|
41
|
+
checkFn,
|
42
|
+
iterateFn,
|
43
|
+
processFn
|
44
44
|
};
|
45
45
|
}
|
46
46
|
|
@@ -82,7 +82,7 @@ var QueueOptimizer = function QueueOptimizerClosure() {
|
|
82
82
|
return fnArray[i] === _util.OPS.restore;
|
83
83
|
}
|
84
84
|
|
85
|
-
throw new Error(
|
85
|
+
throw new Error(`iterateInlineImageGroup - invalid pos: ${pos}`);
|
86
86
|
}, function foundInlineImageGroup(context, i) {
|
87
87
|
var MIN_IMAGES_IN_INLINE_IMAGES_BLOCK = 10;
|
88
88
|
var MAX_IMAGES_IN_INLINE_IMAGES_BLOCK = 200;
|
@@ -119,7 +119,7 @@ var QueueOptimizer = function QueueOptimizerClosure() {
|
|
119
119
|
}
|
120
120
|
|
121
121
|
map.push({
|
122
|
-
transform
|
122
|
+
transform,
|
123
123
|
x: currentX,
|
124
124
|
y: currentY,
|
125
125
|
w: img.width,
|
@@ -190,7 +190,7 @@ var QueueOptimizer = function QueueOptimizerClosure() {
|
|
190
190
|
return fnArray[i] === _util.OPS.restore;
|
191
191
|
}
|
192
192
|
|
193
|
-
throw new Error(
|
193
|
+
throw new Error(`iterateImageMaskGroup - invalid pos: ${pos}`);
|
194
194
|
}, function foundImageMaskGroup(context, i) {
|
195
195
|
var MIN_IMAGES_IN_MASKS_BLOCK = 10;
|
196
196
|
var MAX_IMAGES_IN_MASKS_BLOCK = 100;
|
@@ -212,18 +212,20 @@ var QueueOptimizer = function QueueOptimizerClosure() {
|
|
212
212
|
var isSameImage = false;
|
213
213
|
var iTransform, transformArgs;
|
214
214
|
var firstPIMXOArg0 = argsArray[iFirstPIMXO][0];
|
215
|
+
const firstTransformArg0 = argsArray[iFirstTransform][0],
|
216
|
+
firstTransformArg1 = argsArray[iFirstTransform][1],
|
217
|
+
firstTransformArg2 = argsArray[iFirstTransform][2],
|
218
|
+
firstTransformArg3 = argsArray[iFirstTransform][3];
|
215
219
|
|
216
|
-
if (
|
220
|
+
if (firstTransformArg1 === firstTransformArg2) {
|
217
221
|
isSameImage = true;
|
218
|
-
var firstTransformArg0 = argsArray[iFirstTransform][0];
|
219
|
-
var firstTransformArg3 = argsArray[iFirstTransform][3];
|
220
222
|
iTransform = iFirstTransform + 4;
|
221
223
|
var iPIMXO = iFirstPIMXO + 4;
|
222
224
|
|
223
225
|
for (q = 1; q < count; q++, iTransform += 4, iPIMXO += 4) {
|
224
226
|
transformArgs = argsArray[iTransform];
|
225
227
|
|
226
|
-
if (argsArray[iPIMXO][0] !== firstPIMXOArg0 || transformArgs[0] !== firstTransformArg0 || transformArgs[1] !==
|
228
|
+
if (argsArray[iPIMXO][0] !== firstPIMXOArg0 || transformArgs[0] !== firstTransformArg0 || transformArgs[1] !== firstTransformArg1 || transformArgs[2] !== firstTransformArg2 || transformArgs[3] !== firstTransformArg3) {
|
227
229
|
if (q < MIN_IMAGES_IN_MASKS_BLOCK) {
|
228
230
|
isSameImage = false;
|
229
231
|
} else {
|
@@ -247,7 +249,7 @@ var QueueOptimizer = function QueueOptimizerClosure() {
|
|
247
249
|
}
|
248
250
|
|
249
251
|
fnArray.splice(iFirstSave, count * 4, _util.OPS.paintImageMaskXObjectRepeat);
|
250
|
-
argsArray.splice(iFirstSave, count * 4, [firstPIMXOArg0, firstTransformArg0, firstTransformArg3, positions]);
|
252
|
+
argsArray.splice(iFirstSave, count * 4, [firstPIMXOArg0, firstTransformArg0, firstTransformArg1, firstTransformArg2, firstTransformArg3, positions]);
|
251
253
|
} else {
|
252
254
|
count = Math.min(count, MAX_IMAGES_IN_MASKS_BLOCK);
|
253
255
|
var images = [];
|
@@ -316,7 +318,7 @@ var QueueOptimizer = function QueueOptimizerClosure() {
|
|
316
318
|
return fnArray[i] === _util.OPS.restore;
|
317
319
|
}
|
318
320
|
|
319
|
-
throw new Error(
|
321
|
+
throw new Error(`iterateImageGroup - invalid pos: ${pos}`);
|
320
322
|
}, function (context, i) {
|
321
323
|
var MIN_IMAGES_IN_BLOCK = 3;
|
322
324
|
var MAX_IMAGES_IN_BLOCK = 1000;
|
@@ -384,7 +386,7 @@ var QueueOptimizer = function QueueOptimizerClosure() {
|
|
384
386
|
return fnArray[i] === _util.OPS.endText;
|
385
387
|
}
|
386
388
|
|
387
|
-
throw new Error(
|
389
|
+
throw new Error(`iterateShowTextGroup - invalid pos: ${pos}`);
|
388
390
|
}, function (context, i) {
|
389
391
|
var MIN_CHARS_IN_BLOCK = 3;
|
390
392
|
var MAX_CHARS_IN_BLOCK = 1000;
|
@@ -435,23 +437,23 @@ var QueueOptimizer = function QueueOptimizerClosure() {
|
|
435
437
|
}
|
436
438
|
|
437
439
|
QueueOptimizer.prototype = {
|
438
|
-
_optimize
|
439
|
-
|
440
|
-
|
440
|
+
_optimize() {
|
441
|
+
const fnArray = this.queue.fnArray;
|
442
|
+
let i = this.lastProcessed,
|
441
443
|
ii = fnArray.length;
|
442
|
-
|
443
|
-
|
444
|
+
let state = this.state;
|
445
|
+
let match = this.match;
|
444
446
|
|
445
447
|
if (!state && !match && i + 1 === ii && !InitialState[fnArray[i]]) {
|
446
448
|
this.lastProcessed = ii;
|
447
449
|
return;
|
448
450
|
}
|
449
451
|
|
450
|
-
|
452
|
+
const context = this.context;
|
451
453
|
|
452
454
|
while (i < ii) {
|
453
455
|
if (match) {
|
454
|
-
|
456
|
+
const iterate = (0, match.iterateFn)(context, i);
|
455
457
|
|
456
458
|
if (iterate) {
|
457
459
|
i++;
|
@@ -491,15 +493,17 @@ var QueueOptimizer = function QueueOptimizerClosure() {
|
|
491
493
|
this.match = match;
|
492
494
|
this.lastProcessed = i;
|
493
495
|
},
|
494
|
-
|
496
|
+
|
497
|
+
push(fn, args) {
|
495
498
|
this.queue.fnArray.push(fn);
|
496
499
|
this.queue.argsArray.push(args);
|
497
500
|
|
498
501
|
this._optimize();
|
499
502
|
},
|
500
|
-
|
503
|
+
|
504
|
+
flush() {
|
501
505
|
while (this.match) {
|
502
|
-
|
506
|
+
const length = this.queue.fnArray.length;
|
503
507
|
this.lastProcessed = (0, this.match.processFn)(this.context, length);
|
504
508
|
this.match = null;
|
505
509
|
this.state = null;
|
@@ -507,11 +511,13 @@ var QueueOptimizer = function QueueOptimizerClosure() {
|
|
507
511
|
this._optimize();
|
508
512
|
}
|
509
513
|
},
|
510
|
-
|
514
|
+
|
515
|
+
reset() {
|
511
516
|
this.state = null;
|
512
517
|
this.match = null;
|
513
518
|
this.lastProcessed = 0;
|
514
519
|
}
|
520
|
+
|
515
521
|
};
|
516
522
|
return QueueOptimizer;
|
517
523
|
}();
|
@@ -522,12 +528,15 @@ var NullOptimizer = function NullOptimizerClosure() {
|
|
522
528
|
}
|
523
529
|
|
524
530
|
NullOptimizer.prototype = {
|
525
|
-
push
|
531
|
+
push(fn, args) {
|
526
532
|
this.queue.fnArray.push(fn);
|
527
533
|
this.queue.argsArray.push(args);
|
528
534
|
},
|
529
|
-
|
530
|
-
|
535
|
+
|
536
|
+
flush() {},
|
537
|
+
|
538
|
+
reset() {}
|
539
|
+
|
531
540
|
};
|
532
541
|
return NullOptimizer;
|
533
542
|
}();
|
@@ -536,22 +545,21 @@ var OperatorList = function OperatorListClosure() {
|
|
536
545
|
var CHUNK_SIZE = 1000;
|
537
546
|
var CHUNK_SIZE_ABOUT = CHUNK_SIZE - 5;
|
538
547
|
|
539
|
-
function OperatorList(intent,
|
540
|
-
this.
|
548
|
+
function OperatorList(intent, streamSink) {
|
549
|
+
this._streamSink = streamSink;
|
541
550
|
this.fnArray = [];
|
542
551
|
this.argsArray = [];
|
543
552
|
|
544
|
-
if (
|
553
|
+
if (streamSink && intent !== "oplist") {
|
545
554
|
this.optimizer = new QueueOptimizer(this);
|
546
555
|
} else {
|
547
556
|
this.optimizer = new NullOptimizer(this);
|
548
557
|
}
|
549
558
|
|
550
|
-
this.dependencies =
|
559
|
+
this.dependencies = new Set();
|
551
560
|
this._totalLength = 0;
|
552
|
-
this.pageIndex = pageIndex;
|
553
|
-
this.intent = intent;
|
554
561
|
this.weight = 0;
|
562
|
+
this._resolved = streamSink ? null : Promise.resolve();
|
555
563
|
}
|
556
564
|
|
557
565
|
OperatorList.prototype = {
|
@@ -559,15 +567,19 @@ var OperatorList = function OperatorListClosure() {
|
|
559
567
|
return this.argsArray.length;
|
560
568
|
},
|
561
569
|
|
570
|
+
get ready() {
|
571
|
+
return this._resolved || this._streamSink.ready;
|
572
|
+
},
|
573
|
+
|
562
574
|
get totalLength() {
|
563
575
|
return this._totalLength + this.length;
|
564
576
|
},
|
565
577
|
|
566
|
-
addOp
|
578
|
+
addOp(fn, args) {
|
567
579
|
this.optimizer.push(fn, args);
|
568
580
|
this.weight++;
|
569
581
|
|
570
|
-
if (this.
|
582
|
+
if (this._streamSink) {
|
571
583
|
if (this.weight >= CHUNK_SIZE) {
|
572
584
|
this.flush();
|
573
585
|
} else if (this.weight >= CHUNK_SIZE_ABOUT && (fn === _util.OPS.restore || fn === _util.OPS.endText)) {
|
@@ -575,27 +587,38 @@ var OperatorList = function OperatorListClosure() {
|
|
575
587
|
}
|
576
588
|
}
|
577
589
|
},
|
578
|
-
|
579
|
-
|
590
|
+
|
591
|
+
addDependency(dependency) {
|
592
|
+
if (this.dependencies.has(dependency)) {
|
580
593
|
return;
|
581
594
|
}
|
582
595
|
|
583
|
-
this.dependencies
|
596
|
+
this.dependencies.add(dependency);
|
584
597
|
this.addOp(_util.OPS.dependency, [dependency]);
|
585
598
|
},
|
586
|
-
|
587
|
-
|
588
|
-
|
599
|
+
|
600
|
+
addDependencies(dependencies) {
|
601
|
+
for (const dependency of dependencies) {
|
602
|
+
this.addDependency(dependency);
|
589
603
|
}
|
590
604
|
},
|
591
|
-
|
592
|
-
|
605
|
+
|
606
|
+
addOpList(opList) {
|
607
|
+
if (!(opList instanceof OperatorList)) {
|
608
|
+
(0, _util.warn)('addOpList - ignoring invalid "opList" parameter.');
|
609
|
+
return;
|
610
|
+
}
|
611
|
+
|
612
|
+
for (const dependency of opList.dependencies) {
|
613
|
+
this.dependencies.add(dependency);
|
614
|
+
}
|
593
615
|
|
594
616
|
for (var i = 0, ii = opList.length; i < ii; i++) {
|
595
617
|
this.addOp(opList.fnArray[i], opList.argsArray[i]);
|
596
618
|
}
|
597
619
|
},
|
598
|
-
|
620
|
+
|
621
|
+
getIR() {
|
599
622
|
return {
|
600
623
|
fnArray: this.fnArray,
|
601
624
|
argsArray: this.argsArray,
|
@@ -604,17 +627,19 @@ var OperatorList = function OperatorListClosure() {
|
|
604
627
|
},
|
605
628
|
|
606
629
|
get _transfers() {
|
607
|
-
|
608
|
-
|
609
|
-
|
610
|
-
|
611
|
-
|
612
|
-
|
630
|
+
const transfers = [];
|
631
|
+
const {
|
632
|
+
fnArray,
|
633
|
+
argsArray,
|
634
|
+
length
|
635
|
+
} = this;
|
636
|
+
|
637
|
+
for (let i = 0; i < length; i++) {
|
613
638
|
switch (fnArray[i]) {
|
614
639
|
case _util.OPS.paintInlineImageXObject:
|
615
640
|
case _util.OPS.paintInlineImageXObjectGroup:
|
616
641
|
case _util.OPS.paintImageMaskXObject:
|
617
|
-
|
642
|
+
const arg = argsArray[i][0];
|
618
643
|
;
|
619
644
|
|
620
645
|
if (!arg.cached) {
|
@@ -628,27 +653,25 @@ var OperatorList = function OperatorListClosure() {
|
|
628
653
|
return transfers;
|
629
654
|
},
|
630
655
|
|
631
|
-
flush
|
632
|
-
var lastChunk = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
656
|
+
flush(lastChunk = false) {
|
633
657
|
this.optimizer.flush();
|
634
|
-
|
658
|
+
const length = this.length;
|
635
659
|
this._totalLength += length;
|
636
|
-
|
637
|
-
|
638
|
-
|
639
|
-
|
640
|
-
|
641
|
-
|
642
|
-
|
643
|
-
|
644
|
-
|
645
|
-
}, this._transfers);
|
646
|
-
this.dependencies = Object.create(null);
|
660
|
+
|
661
|
+
this._streamSink.enqueue({
|
662
|
+
fnArray: this.fnArray,
|
663
|
+
argsArray: this.argsArray,
|
664
|
+
lastChunk,
|
665
|
+
length
|
666
|
+
}, 1, this._transfers);
|
667
|
+
|
668
|
+
this.dependencies.clear();
|
647
669
|
this.fnArray.length = 0;
|
648
670
|
this.argsArray.length = 0;
|
649
671
|
this.weight = 0;
|
650
672
|
this.optimizer.reset();
|
651
673
|
}
|
674
|
+
|
652
675
|
};
|
653
676
|
return OperatorList;
|
654
677
|
}();
|