pdfjs-dist 2.0.489 → 2.2.228
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 +18515 -11402
- package/build/pdf.js.map +1 -1
- package/build/pdf.min.js +1 -1
- package/build/pdf.worker.js +48266 -37137
- package/build/pdf.worker.js.map +1 -1
- package/build/pdf.worker.min.js +1 -1
- package/external/url/url-lib.js +627 -0
- package/image_decoders/pdf.image_decoders.js +11350 -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 +587 -242
- 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 +400 -152
- package/lib/core/cmap.js +326 -87
- package/lib/core/colorspace.js +874 -594
- package/lib/core/core_utils.js +147 -0
- package/lib/core/crypto.js +290 -45
- package/lib/core/document.js +560 -268
- package/lib/core/encodings.js +19 -10
- package/lib/core/evaluator.js +1005 -360
- package/lib/core/font_renderer.js +331 -97
- package/lib/core/fonts.js +812 -195
- package/lib/core/function.js +284 -71
- package/lib/core/glyphlist.js +4 -3
- package/lib/core/image.js +169 -62
- package/lib/core/image_utils.js +111 -0
- package/lib/core/jbig2.js +479 -66
- package/lib/core/jbig2_stream.js +19 -8
- package/lib/core/jpeg_stream.js +38 -13
- package/lib/core/jpg.js +253 -29
- package/lib/core/jpx.js +396 -6
- 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 +1354 -488
- package/lib/core/operator_list.js +144 -31
- package/lib/core/parser.js +539 -191
- package/lib/core/pattern.js +148 -14
- package/lib/core/pdf_manager.js +323 -133
- package/lib/core/primitives.js +111 -24
- package/lib/core/ps_parser.js +134 -45
- package/lib/core/standard_fonts.js +17 -17
- package/lib/core/stream.js +313 -34
- package/lib/core/type1_parser.js +143 -13
- package/lib/core/unicode.js +32 -5
- package/lib/core/worker.js +217 -190
- package/lib/core/worker_stream.js +277 -0
- package/lib/display/annotation_layer.js +450 -133
- package/lib/display/api.js +1597 -784
- package/lib/display/api_compatibility.js +11 -13
- package/lib/display/canvas.js +360 -44
- package/lib/display/content_disposition.js +83 -32
- package/lib/display/display_utils.js +747 -0
- package/lib/display/fetch_stream.js +221 -90
- 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 +32 -19
- package/lib/display/node_stream.js +367 -175
- package/lib/display/pattern_helper.js +81 -31
- package/lib/display/svg.js +1235 -519
- package/lib/display/text_layer.js +153 -29
- 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 +36 -14
- package/lib/pdf.worker.js +5 -3
- package/lib/shared/compatibility.js +158 -564
- package/lib/shared/global_scope.js +2 -2
- package/lib/shared/is_node.js +4 -4
- package/lib/shared/message_handler.js +521 -0
- package/lib/shared/streams_polyfill.js +21 -17
- package/lib/shared/url_polyfill.js +56 -0
- package/lib/shared/util.js +243 -710
- package/lib/test/unit/annotation_spec.js +870 -401
- package/lib/test/unit/api_spec.js +657 -345
- 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 +10 -8
- 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 +38 -15
- package/lib/test/unit/fetch_stream_spec.js +109 -0
- package/lib/test/unit/function_spec.js +17 -5
- package/lib/test/unit/jasmine-boot.js +33 -20
- package/lib/test/unit/{util_stream_spec.js → message_handler_spec.js} +41 -69
- 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 +19 -54
- package/lib/test/unit/network_utils_spec.js +91 -14
- package/lib/test/unit/node_stream_spec.js +56 -32
- 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 +53 -20
- 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 +8 -6
- package/lib/test/unit/ui_utils_spec.js +454 -16
- 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 +1290 -588
- package/lib/web/app_options.js +100 -62
- package/lib/web/base_viewer.js +511 -182
- package/lib/web/chromecom.js +261 -117
- package/lib/web/debugger.js +166 -22
- package/lib/web/download_manager.js +32 -13
- package/lib/web/firefox_print_service.js +20 -10
- package/lib/web/firefoxcom.js +315 -80
- 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 +170 -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 +138 -77
- package/lib/web/pdf_outline_viewer.js +122 -46
- package/lib/web/pdf_page_view.js +191 -67
- package/lib/web/pdf_presentation_mode.js +99 -34
- package/lib/web/pdf_print_service.js +61 -13
- package/lib/web/pdf_rendering_queue.js +28 -9
- package/lib/web/pdf_sidebar.js +141 -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 +91 -52
- package/lib/web/preferences.js +284 -89
- package/lib/web/secondary_toolbar.js +165 -40
- package/lib/web/text_layer_builder.js +134 -59
- package/lib/web/toolbar.js +78 -43
- package/lib/web/ui_utils.js +462 -136
- package/lib/web/view_history.js +215 -67
- package/lib/web/viewer_compatibility.js +4 -13
- package/package.json +5 -4
- package/web/pdf_viewer.css +79 -11
- package/web/pdf_viewer.js +6107 -3748
- package/web/pdf_viewer.js.map +1 -1
- package/lib/display/dom_utils.js +0 -309
- 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,36 @@ 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);
|
86
94
|
}
|
87
95
|
}, {
|
88
|
-
key:
|
96
|
+
key: "_bindListeners",
|
89
97
|
value: function _bindListeners() {
|
90
98
|
var _this = this;
|
91
99
|
|
92
100
|
var eventBus = this.eventBus,
|
93
101
|
items = this.items;
|
94
|
-
|
95
102
|
var self = this;
|
96
103
|
items.previous.addEventListener('click', function () {
|
97
|
-
eventBus.dispatch('previouspage'
|
104
|
+
eventBus.dispatch('previouspage', {
|
105
|
+
source: self
|
106
|
+
});
|
98
107
|
});
|
99
108
|
items.next.addEventListener('click', function () {
|
100
|
-
eventBus.dispatch('nextpage'
|
109
|
+
eventBus.dispatch('nextpage', {
|
110
|
+
source: self
|
111
|
+
});
|
101
112
|
});
|
102
113
|
items.zoomIn.addEventListener('click', function () {
|
103
|
-
eventBus.dispatch('zoomin'
|
114
|
+
eventBus.dispatch('zoomin', {
|
115
|
+
source: self
|
116
|
+
});
|
104
117
|
});
|
105
118
|
items.zoomOut.addEventListener('click', function () {
|
106
|
-
eventBus.dispatch('zoomout'
|
119
|
+
eventBus.dispatch('zoomout', {
|
120
|
+
source: self
|
121
|
+
});
|
107
122
|
});
|
108
123
|
items.pageNumber.addEventListener('click', function () {
|
109
124
|
this.select();
|
@@ -118,22 +133,31 @@ var Toolbar = function () {
|
|
118
133
|
if (this.value === 'custom') {
|
119
134
|
return;
|
120
135
|
}
|
136
|
+
|
121
137
|
eventBus.dispatch('scalechanged', {
|
122
138
|
source: self,
|
123
139
|
value: this.value
|
124
140
|
});
|
125
141
|
});
|
126
142
|
items.presentationModeButton.addEventListener('click', function () {
|
127
|
-
eventBus.dispatch('presentationmode'
|
143
|
+
eventBus.dispatch('presentationmode', {
|
144
|
+
source: self
|
145
|
+
});
|
128
146
|
});
|
129
147
|
items.openFile.addEventListener('click', function () {
|
130
|
-
eventBus.dispatch('openfile'
|
148
|
+
eventBus.dispatch('openfile', {
|
149
|
+
source: self
|
150
|
+
});
|
131
151
|
});
|
132
152
|
items.print.addEventListener('click', function () {
|
133
|
-
eventBus.dispatch('print'
|
153
|
+
eventBus.dispatch('print', {
|
154
|
+
source: self
|
155
|
+
});
|
134
156
|
});
|
135
157
|
items.download.addEventListener('click', function () {
|
136
|
-
eventBus.dispatch('download'
|
158
|
+
eventBus.dispatch('download', {
|
159
|
+
source: self
|
160
|
+
});
|
137
161
|
});
|
138
162
|
items.scaleSelect.oncontextmenu = _ui_utils.noContextMenuHandler;
|
139
163
|
eventBus.on('localized', function () {
|
@@ -141,37 +165,44 @@ var Toolbar = function () {
|
|
141
165
|
});
|
142
166
|
}
|
143
167
|
}, {
|
144
|
-
key:
|
168
|
+
key: "_localized",
|
145
169
|
value: function _localized() {
|
146
170
|
this._wasLocalized = true;
|
171
|
+
|
147
172
|
this._adjustScaleWidth();
|
173
|
+
|
148
174
|
this._updateUIState(true);
|
149
175
|
}
|
150
176
|
}, {
|
151
|
-
key:
|
177
|
+
key: "_updateUIState",
|
152
178
|
value: function _updateUIState() {
|
153
179
|
var resetNumPages = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
154
180
|
|
155
181
|
if (!this._wasLocalized) {
|
156
182
|
return;
|
157
183
|
}
|
184
|
+
|
158
185
|
var pageNumber = this.pageNumber,
|
159
186
|
pagesCount = this.pagesCount,
|
187
|
+
pageScaleValue = this.pageScaleValue,
|
188
|
+
pageScale = this.pageScale,
|
160
189
|
items = this.items;
|
161
190
|
|
162
|
-
var scaleValue = (this.pageScaleValue || this.pageScale).toString();
|
163
|
-
var scale = this.pageScale;
|
164
191
|
if (resetNumPages) {
|
165
192
|
if (this.hasPageLabels) {
|
166
193
|
items.pageNumber.type = 'text';
|
167
194
|
} else {
|
168
195
|
items.pageNumber.type = 'number';
|
169
|
-
this.l10n.get('of_pages', {
|
196
|
+
this.l10n.get('of_pages', {
|
197
|
+
pagesCount: pagesCount
|
198
|
+
}, 'of {{pagesCount}}').then(function (msg) {
|
170
199
|
items.numPages.textContent = msg;
|
171
200
|
});
|
172
201
|
}
|
202
|
+
|
173
203
|
items.pageNumber.max = pagesCount;
|
174
204
|
}
|
205
|
+
|
175
206
|
if (this.hasPageLabels) {
|
176
207
|
items.pageNumber.value = this.pageLabel;
|
177
208
|
this.l10n.get('page_of_pages', {
|
@@ -183,23 +214,30 @@ var Toolbar = function () {
|
|
183
214
|
} else {
|
184
215
|
items.pageNumber.value = pageNumber;
|
185
216
|
}
|
217
|
+
|
186
218
|
items.previous.disabled = pageNumber <= 1;
|
187
219
|
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', {
|
220
|
+
items.zoomOut.disabled = pageScale <= _ui_utils.MIN_SCALE;
|
221
|
+
items.zoomIn.disabled = pageScale >= _ui_utils.MAX_SCALE;
|
222
|
+
var customScale = Math.round(pageScale * 10000) / 100;
|
223
|
+
this.l10n.get('page_scale_percent', {
|
224
|
+
scale: customScale
|
225
|
+
}, '{{scale}}%').then(function (msg) {
|
192
226
|
var options = items.scaleSelect.options;
|
193
227
|
var predefinedValueFound = false;
|
228
|
+
|
194
229
|
for (var i = 0, ii = options.length; i < ii; i++) {
|
195
230
|
var option = options[i];
|
196
|
-
|
231
|
+
|
232
|
+
if (option.value !== pageScaleValue) {
|
197
233
|
option.selected = false;
|
198
234
|
continue;
|
199
235
|
}
|
236
|
+
|
200
237
|
option.selected = true;
|
201
238
|
predefinedValueFound = true;
|
202
239
|
}
|
240
|
+
|
203
241
|
if (!predefinedValueFound) {
|
204
242
|
items.customScaleOption.textContent = msg;
|
205
243
|
items.customScaleOption.selected = true;
|
@@ -207,26 +245,23 @@ var Toolbar = function () {
|
|
207
245
|
});
|
208
246
|
}
|
209
247
|
}, {
|
210
|
-
key:
|
248
|
+
key: "updateLoadingIndicatorState",
|
211
249
|
value: function updateLoadingIndicatorState() {
|
212
250
|
var loading = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
213
|
-
|
214
251
|
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
|
-
}
|
252
|
+
pageNumberInput.classList.toggle(PAGE_NUMBER_LOADING_INDICATOR, loading);
|
220
253
|
}
|
221
254
|
}, {
|
222
|
-
key:
|
255
|
+
key: "_adjustScaleWidth",
|
223
256
|
value: function _adjustScaleWidth() {
|
224
257
|
var container = this.items.scaleSelectContainer;
|
225
258
|
var select = this.items.scaleSelect;
|
259
|
+
|
226
260
|
_ui_utils.animationStarted.then(function () {
|
227
261
|
if (container.clientWidth === 0) {
|
228
262
|
container.setAttribute('style', 'display: inherit;');
|
229
263
|
}
|
264
|
+
|
230
265
|
if (container.clientWidth > 0) {
|
231
266
|
select.setAttribute('style', 'min-width: inherit;');
|
232
267
|
var width = select.clientWidth + SCALE_SELECT_CONTAINER_PADDING;
|