pdfjs-dist 2.0.550 → 2.3.200
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/CODE_OF_CONDUCT.md +15 -0
- package/bower.json +1 -1
- package/build/pdf.js +21618 -14369
- package/build/pdf.js.map +1 -1
- package/build/pdf.min.js +1 -1
- package/build/pdf.worker.js +22758 -11399
- package/build/pdf.worker.js.map +1 -1
- package/build/pdf.worker.min.js +1 -1
- package/image_decoders/pdf.image_decoders.js +11500 -0
- package/image_decoders/pdf.image_decoders.js.map +1 -0
- package/image_decoders/pdf.image_decoders.min.js +1 -0
- package/lib/core/annotation.js +767 -258
- package/lib/core/arithmetic_decoder.js +275 -245
- package/lib/core/bidi.js +65 -6
- package/lib/core/ccitt.js +173 -18
- package/lib/core/ccitt_stream.js +15 -6
- package/lib/core/cff_parser.js +433 -61
- package/lib/core/charsets.js +5 -4
- package/lib/core/chunked_stream.js +428 -157
- package/lib/core/cmap.js +326 -87
- package/lib/core/colorspace.js +874 -594
- package/lib/core/core_utils.js +173 -0
- package/lib/core/crypto.js +290 -45
- package/lib/core/document.js +575 -272
- package/lib/core/encodings.js +19 -10
- package/lib/core/evaluator.js +1032 -351
- package/lib/core/font_renderer.js +331 -97
- package/lib/core/fonts.js +813 -196
- package/lib/core/function.js +253 -27
- package/lib/core/glyphlist.js +5 -3
- package/lib/core/image.js +169 -62
- package/lib/core/image_utils.js +111 -0
- package/lib/core/jbig2.js +502 -72
- package/lib/core/jbig2_stream.js +19 -8
- package/lib/core/jpeg_stream.js +38 -13
- package/lib/core/jpg.js +293 -52
- package/lib/core/jpx.js +419 -12
- package/lib/core/jpx_stream.js +18 -6
- package/lib/core/metrics.js +15 -15
- package/lib/core/murmurhash3.js +56 -34
- package/lib/core/obj.js +1368 -500
- package/lib/core/operator_list.js +159 -43
- package/lib/core/parser.js +544 -199
- package/lib/core/pattern.js +170 -21
- package/lib/core/pdf_manager.js +324 -134
- package/lib/core/primitives.js +169 -61
- package/lib/core/ps_parser.js +134 -45
- package/lib/core/standard_fonts.js +17 -17
- package/lib/core/stream.js +327 -34
- package/lib/core/type1_parser.js +148 -8
- package/lib/core/unicode.js +32 -5
- package/lib/core/worker.js +215 -229
- package/lib/core/worker_stream.js +277 -0
- package/lib/display/annotation_layer.js +618 -192
- package/lib/display/api.js +1798 -882
- package/lib/display/api_compatibility.js +5 -10
- package/lib/display/canvas.js +366 -45
- package/lib/display/content_disposition.js +71 -24
- package/lib/display/display_utils.js +777 -0
- package/lib/display/fetch_stream.js +205 -87
- package/lib/display/font_loader.js +468 -236
- package/lib/display/metadata.js +38 -16
- package/lib/display/network.js +635 -428
- package/lib/display/network_utils.js +38 -19
- package/lib/display/node_stream.js +367 -175
- package/lib/display/pattern_helper.js +103 -36
- package/lib/display/svg.js +1232 -519
- package/lib/display/text_layer.js +208 -75
- package/lib/display/transport_stream.js +345 -94
- package/lib/display/webgl.js +64 -18
- package/lib/display/worker_options.js +5 -4
- package/lib/display/xml_parser.js +166 -53
- package/lib/examples/node/domstubs.js +60 -4
- package/lib/pdf.js +35 -14
- package/lib/pdf.worker.js +5 -3
- package/lib/shared/compatibility.js +170 -572
- package/lib/shared/global_scope.js +2 -2
- package/lib/shared/is_node.js +4 -4
- package/lib/shared/message_handler.js +216 -163
- package/lib/shared/streams_polyfill.js +21 -17
- package/lib/shared/util.js +495 -385
- package/lib/test/unit/annotation_spec.js +1464 -401
- package/lib/test/unit/api_spec.js +718 -361
- package/lib/test/unit/bidi_spec.js +7 -7
- package/lib/test/unit/cff_parser_spec.js +54 -11
- package/lib/test/unit/clitests_helper.js +9 -10
- package/lib/test/unit/cmap_spec.js +95 -41
- package/lib/test/unit/colorspace_spec.js +115 -63
- package/lib/test/unit/core_utils_spec.js +191 -0
- package/lib/test/unit/crypto_spec.js +17 -5
- package/lib/test/unit/custom_spec.js +43 -55
- package/lib/test/unit/display_svg_spec.js +34 -18
- package/lib/test/unit/display_utils_spec.js +273 -0
- package/lib/test/unit/document_spec.js +8 -13
- package/lib/test/unit/encodings_spec.js +25 -45
- package/lib/test/unit/evaluator_spec.js +59 -20
- package/lib/test/unit/fetch_stream_spec.js +111 -0
- package/lib/test/unit/function_spec.js +17 -5
- package/lib/test/unit/jasmine-boot.js +33 -20
- package/lib/test/unit/message_handler_spec.js +30 -13
- package/lib/test/unit/metadata_spec.js +71 -11
- package/lib/test/unit/murmurhash3_spec.js +3 -3
- package/lib/test/unit/network_spec.js +22 -55
- package/lib/test/unit/network_utils_spec.js +105 -14
- package/lib/test/unit/node_stream_spec.js +58 -34
- package/lib/test/unit/parser_spec.js +162 -71
- package/lib/test/unit/pdf_find_controller_spec.js +230 -0
- package/lib/test/unit/pdf_find_utils_spec.js +63 -0
- package/lib/test/unit/pdf_history_spec.js +21 -9
- package/lib/test/unit/primitives_spec.js +55 -22
- package/lib/test/unit/stream_spec.js +12 -4
- package/lib/test/unit/test_utils.js +273 -56
- package/lib/test/unit/testreporter.js +21 -3
- package/lib/test/unit/type1_parser_spec.js +9 -7
- package/lib/test/unit/ui_utils_spec.js +236 -36
- package/lib/test/unit/unicode_spec.js +18 -15
- package/lib/test/unit/util_spec.js +87 -128
- package/lib/web/annotation_layer_builder.js +39 -22
- package/lib/web/app.js +1252 -609
- package/lib/web/app_options.js +103 -65
- package/lib/web/base_viewer.js +522 -242
- package/lib/web/chromecom.js +259 -117
- package/lib/web/debugger.js +166 -22
- package/lib/web/download_manager.js +31 -12
- package/lib/web/firefox_print_service.js +27 -14
- package/lib/web/firefoxcom.js +318 -78
- package/lib/web/genericcom.js +89 -30
- package/lib/web/genericl10n.js +142 -30
- package/lib/web/grab_to_pan.js +28 -4
- package/lib/web/interfaces.js +174 -47
- package/lib/web/overlay_manager.js +235 -85
- package/lib/web/password_prompt.js +22 -14
- package/lib/web/pdf_attachment_viewer.js +38 -18
- package/lib/web/pdf_cursor_tools.js +39 -16
- package/lib/web/pdf_document_properties.js +255 -136
- package/lib/web/pdf_find_bar.js +84 -40
- package/lib/web/pdf_find_controller.js +495 -184
- package/lib/web/pdf_find_utils.js +111 -0
- package/lib/web/pdf_history.js +190 -53
- package/lib/web/pdf_link_service.js +144 -79
- package/lib/web/pdf_outline_viewer.js +124 -47
- package/lib/web/pdf_page_view.js +194 -74
- package/lib/web/pdf_presentation_mode.js +99 -34
- package/lib/web/pdf_print_service.js +59 -13
- package/lib/web/pdf_rendering_queue.js +28 -9
- package/lib/web/pdf_sidebar.js +144 -81
- package/lib/web/pdf_sidebar_resizer.js +42 -16
- package/lib/web/pdf_single_page_viewer.js +74 -66
- package/lib/web/pdf_thumbnail_view.js +104 -33
- package/lib/web/pdf_thumbnail_viewer.js +66 -26
- package/lib/web/pdf_viewer.component.js +112 -32
- package/lib/web/pdf_viewer.js +82 -87
- package/lib/web/preferences.js +284 -91
- package/lib/web/secondary_toolbar.js +132 -59
- package/lib/web/text_layer_builder.js +134 -59
- package/lib/web/toolbar.js +80 -43
- package/lib/web/ui_utils.js +400 -134
- package/lib/web/view_history.js +215 -67
- package/lib/web/viewer_compatibility.js +3 -8
- package/package.json +3 -2
- package/web/pdf_viewer.css +23 -15
- package/web/pdf_viewer.js +3429 -1245
- package/web/pdf_viewer.js.map +1 -1
- package/external/streams/streams-lib.js +0 -3962
- package/lib/display/dom_utils.js +0 -429
- package/lib/test/unit/dom_utils_spec.js +0 -89
- package/lib/test/unit/fonts_spec.js +0 -81
- package/lib/web/dom_events.js +0 -137
package/lib/web/toolbar.js
CHANGED
@@ -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 2019 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.
|
@@ -19,62 +19,69 @@
|
|
19
19
|
* @licend The above is the entire license notice for the
|
20
20
|
* Javascript code in this page
|
21
21
|
*/
|
22
|
-
|
22
|
+
"use strict";
|
23
23
|
|
24
24
|
Object.defineProperty(exports, "__esModule", {
|
25
25
|
value: true
|
26
26
|
});
|
27
|
-
exports.Toolbar =
|
27
|
+
exports.Toolbar = void 0;
|
28
28
|
|
29
|
-
var
|
30
|
-
|
31
|
-
var _ui_utils = require('./ui_utils');
|
29
|
+
var _ui_utils = require("./ui_utils");
|
32
30
|
|
33
31
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
34
32
|
|
33
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
34
|
+
|
35
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
36
|
+
|
35
37
|
var PAGE_NUMBER_LOADING_INDICATOR = 'visiblePageIsLoading';
|
36
38
|
var SCALE_SELECT_CONTAINER_PADDING = 8;
|
37
39
|
var SCALE_SELECT_PADDING = 22;
|
38
40
|
|
39
|
-
var Toolbar =
|
40
|
-
|
41
|
-
|
41
|
+
var Toolbar =
|
42
|
+
/*#__PURE__*/
|
43
|
+
function () {
|
44
|
+
function Toolbar(options, eventBus) {
|
45
|
+
var l10n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _ui_utils.NullL10n;
|
42
46
|
|
43
47
|
_classCallCheck(this, Toolbar);
|
44
48
|
|
45
49
|
this.toolbar = options.container;
|
46
|
-
this.mainContainer = mainContainer;
|
47
50
|
this.eventBus = eventBus;
|
48
51
|
this.l10n = l10n;
|
49
52
|
this.items = options;
|
50
53
|
this._wasLocalized = false;
|
51
54
|
this.reset();
|
55
|
+
|
52
56
|
this._bindListeners();
|
53
57
|
}
|
54
58
|
|
55
59
|
_createClass(Toolbar, [{
|
56
|
-
key:
|
60
|
+
key: "setPageNumber",
|
57
61
|
value: function setPageNumber(pageNumber, pageLabel) {
|
58
62
|
this.pageNumber = pageNumber;
|
59
63
|
this.pageLabel = pageLabel;
|
64
|
+
|
60
65
|
this._updateUIState(false);
|
61
66
|
}
|
62
67
|
}, {
|
63
|
-
key:
|
68
|
+
key: "setPagesCount",
|
64
69
|
value: function setPagesCount(pagesCount, hasPageLabels) {
|
65
70
|
this.pagesCount = pagesCount;
|
66
71
|
this.hasPageLabels = hasPageLabels;
|
72
|
+
|
67
73
|
this._updateUIState(true);
|
68
74
|
}
|
69
75
|
}, {
|
70
|
-
key:
|
76
|
+
key: "setPageScale",
|
71
77
|
value: function setPageScale(pageScaleValue, pageScale) {
|
72
|
-
this.pageScaleValue = pageScaleValue;
|
78
|
+
this.pageScaleValue = (pageScaleValue || pageScale).toString();
|
73
79
|
this.pageScale = pageScale;
|
80
|
+
|
74
81
|
this._updateUIState(false);
|
75
82
|
}
|
76
83
|
}, {
|
77
|
-
key:
|
84
|
+
key: "reset",
|
78
85
|
value: function reset() {
|
79
86
|
this.pageNumber = 0;
|
80
87
|
this.pageLabel = null;
|
@@ -82,28 +89,38 @@ var Toolbar = function () {
|
|
82
89
|
this.pagesCount = 0;
|
83
90
|
this.pageScaleValue = _ui_utils.DEFAULT_SCALE_VALUE;
|
84
91
|
this.pageScale = _ui_utils.DEFAULT_SCALE;
|
92
|
+
|
85
93
|
this._updateUIState(true);
|
94
|
+
|
95
|
+
this.updateLoadingIndicatorState();
|
86
96
|
}
|
87
97
|
}, {
|
88
|
-
key:
|
98
|
+
key: "_bindListeners",
|
89
99
|
value: function _bindListeners() {
|
90
100
|
var _this = this;
|
91
101
|
|
92
102
|
var eventBus = this.eventBus,
|
93
103
|
items = this.items;
|
94
|
-
|
95
104
|
var self = this;
|
96
105
|
items.previous.addEventListener('click', function () {
|
97
|
-
eventBus.dispatch('previouspage'
|
106
|
+
eventBus.dispatch('previouspage', {
|
107
|
+
source: self
|
108
|
+
});
|
98
109
|
});
|
99
110
|
items.next.addEventListener('click', function () {
|
100
|
-
eventBus.dispatch('nextpage'
|
111
|
+
eventBus.dispatch('nextpage', {
|
112
|
+
source: self
|
113
|
+
});
|
101
114
|
});
|
102
115
|
items.zoomIn.addEventListener('click', function () {
|
103
|
-
eventBus.dispatch('zoomin'
|
116
|
+
eventBus.dispatch('zoomin', {
|
117
|
+
source: self
|
118
|
+
});
|
104
119
|
});
|
105
120
|
items.zoomOut.addEventListener('click', function () {
|
106
|
-
eventBus.dispatch('zoomout'
|
121
|
+
eventBus.dispatch('zoomout', {
|
122
|
+
source: self
|
123
|
+
});
|
107
124
|
});
|
108
125
|
items.pageNumber.addEventListener('click', function () {
|
109
126
|
this.select();
|
@@ -118,22 +135,31 @@ var Toolbar = function () {
|
|
118
135
|
if (this.value === 'custom') {
|
119
136
|
return;
|
120
137
|
}
|
138
|
+
|
121
139
|
eventBus.dispatch('scalechanged', {
|
122
140
|
source: self,
|
123
141
|
value: this.value
|
124
142
|
});
|
125
143
|
});
|
126
144
|
items.presentationModeButton.addEventListener('click', function () {
|
127
|
-
eventBus.dispatch('presentationmode'
|
145
|
+
eventBus.dispatch('presentationmode', {
|
146
|
+
source: self
|
147
|
+
});
|
128
148
|
});
|
129
149
|
items.openFile.addEventListener('click', function () {
|
130
|
-
eventBus.dispatch('openfile'
|
150
|
+
eventBus.dispatch('openfile', {
|
151
|
+
source: self
|
152
|
+
});
|
131
153
|
});
|
132
154
|
items.print.addEventListener('click', function () {
|
133
|
-
eventBus.dispatch('print'
|
155
|
+
eventBus.dispatch('print', {
|
156
|
+
source: self
|
157
|
+
});
|
134
158
|
});
|
135
159
|
items.download.addEventListener('click', function () {
|
136
|
-
eventBus.dispatch('download'
|
160
|
+
eventBus.dispatch('download', {
|
161
|
+
source: self
|
162
|
+
});
|
137
163
|
});
|
138
164
|
items.scaleSelect.oncontextmenu = _ui_utils.noContextMenuHandler;
|
139
165
|
eventBus.on('localized', function () {
|
@@ -141,37 +167,44 @@ var Toolbar = function () {
|
|
141
167
|
});
|
142
168
|
}
|
143
169
|
}, {
|
144
|
-
key:
|
170
|
+
key: "_localized",
|
145
171
|
value: function _localized() {
|
146
172
|
this._wasLocalized = true;
|
173
|
+
|
147
174
|
this._adjustScaleWidth();
|
175
|
+
|
148
176
|
this._updateUIState(true);
|
149
177
|
}
|
150
178
|
}, {
|
151
|
-
key:
|
179
|
+
key: "_updateUIState",
|
152
180
|
value: function _updateUIState() {
|
153
181
|
var resetNumPages = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
154
182
|
|
155
183
|
if (!this._wasLocalized) {
|
156
184
|
return;
|
157
185
|
}
|
186
|
+
|
158
187
|
var pageNumber = this.pageNumber,
|
159
188
|
pagesCount = this.pagesCount,
|
189
|
+
pageScaleValue = this.pageScaleValue,
|
190
|
+
pageScale = this.pageScale,
|
160
191
|
items = this.items;
|
161
192
|
|
162
|
-
var scaleValue = (this.pageScaleValue || this.pageScale).toString();
|
163
|
-
var scale = this.pageScale;
|
164
193
|
if (resetNumPages) {
|
165
194
|
if (this.hasPageLabels) {
|
166
195
|
items.pageNumber.type = 'text';
|
167
196
|
} else {
|
168
197
|
items.pageNumber.type = 'number';
|
169
|
-
this.l10n.get('of_pages', {
|
198
|
+
this.l10n.get('of_pages', {
|
199
|
+
pagesCount: pagesCount
|
200
|
+
}, 'of {{pagesCount}}').then(function (msg) {
|
170
201
|
items.numPages.textContent = msg;
|
171
202
|
});
|
172
203
|
}
|
204
|
+
|
173
205
|
items.pageNumber.max = pagesCount;
|
174
206
|
}
|
207
|
+
|
175
208
|
if (this.hasPageLabels) {
|
176
209
|
items.pageNumber.value = this.pageLabel;
|
177
210
|
this.l10n.get('page_of_pages', {
|
@@ -183,23 +216,30 @@ var Toolbar = function () {
|
|
183
216
|
} else {
|
184
217
|
items.pageNumber.value = pageNumber;
|
185
218
|
}
|
219
|
+
|
186
220
|
items.previous.disabled = pageNumber <= 1;
|
187
221
|
items.next.disabled = pageNumber >= pagesCount;
|
188
|
-
items.zoomOut.disabled =
|
189
|
-
items.zoomIn.disabled =
|
190
|
-
var customScale = Math.round(
|
191
|
-
this.l10n.get('page_scale_percent', {
|
222
|
+
items.zoomOut.disabled = pageScale <= _ui_utils.MIN_SCALE;
|
223
|
+
items.zoomIn.disabled = pageScale >= _ui_utils.MAX_SCALE;
|
224
|
+
var customScale = Math.round(pageScale * 10000) / 100;
|
225
|
+
this.l10n.get('page_scale_percent', {
|
226
|
+
scale: customScale
|
227
|
+
}, '{{scale}}%').then(function (msg) {
|
192
228
|
var options = items.scaleSelect.options;
|
193
229
|
var predefinedValueFound = false;
|
230
|
+
|
194
231
|
for (var i = 0, ii = options.length; i < ii; i++) {
|
195
232
|
var option = options[i];
|
196
|
-
|
233
|
+
|
234
|
+
if (option.value !== pageScaleValue) {
|
197
235
|
option.selected = false;
|
198
236
|
continue;
|
199
237
|
}
|
238
|
+
|
200
239
|
option.selected = true;
|
201
240
|
predefinedValueFound = true;
|
202
241
|
}
|
242
|
+
|
203
243
|
if (!predefinedValueFound) {
|
204
244
|
items.customScaleOption.textContent = msg;
|
205
245
|
items.customScaleOption.selected = true;
|
@@ -207,26 +247,23 @@ var Toolbar = function () {
|
|
207
247
|
});
|
208
248
|
}
|
209
249
|
}, {
|
210
|
-
key:
|
250
|
+
key: "updateLoadingIndicatorState",
|
211
251
|
value: function updateLoadingIndicatorState() {
|
212
252
|
var loading = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
213
|
-
|
214
253
|
var pageNumberInput = this.items.pageNumber;
|
215
|
-
|
216
|
-
pageNumberInput.classList.add(PAGE_NUMBER_LOADING_INDICATOR);
|
217
|
-
} else {
|
218
|
-
pageNumberInput.classList.remove(PAGE_NUMBER_LOADING_INDICATOR);
|
219
|
-
}
|
254
|
+
pageNumberInput.classList.toggle(PAGE_NUMBER_LOADING_INDICATOR, loading);
|
220
255
|
}
|
221
256
|
}, {
|
222
|
-
key:
|
257
|
+
key: "_adjustScaleWidth",
|
223
258
|
value: function _adjustScaleWidth() {
|
224
259
|
var container = this.items.scaleSelectContainer;
|
225
260
|
var select = this.items.scaleSelect;
|
261
|
+
|
226
262
|
_ui_utils.animationStarted.then(function () {
|
227
263
|
if (container.clientWidth === 0) {
|
228
264
|
container.setAttribute('style', 'display: inherit;');
|
229
265
|
}
|
266
|
+
|
230
267
|
if (container.clientWidth > 0) {
|
231
268
|
select.setAttribute('style', 'min-width: inherit;');
|
232
269
|
var width = select.clientWidth + SCALE_SELECT_CONTAINER_PADDING;
|