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
@@ -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,15 +19,11 @@
|
|
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
|
-
var
|
24
|
+
var _util = require("../../shared/util");
|
25
25
|
|
26
|
-
|
27
|
-
|
28
|
-
var _primitives = require('../../core/primitives');
|
29
|
-
|
30
|
-
var _test_utils = require('./test_utils');
|
26
|
+
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
31
27
|
|
32
28
|
describe('util', function () {
|
33
29
|
describe('bytesToString', function () {
|
@@ -43,130 +39,15 @@ describe('util', function () {
|
|
43
39
|
it('handles array arguments with a length exceeding the maximum', function () {
|
44
40
|
var length = 10000;
|
45
41
|
var bytes = new Uint8Array(length);
|
42
|
+
|
46
43
|
for (var i = 0; i < length; i++) {
|
47
44
|
bytes[i] = 'a'.charCodeAt(0);
|
48
45
|
}
|
46
|
+
|
49
47
|
var string = Array(length + 1).join('a');
|
50
48
|
expect((0, _util.bytesToString)(bytes)).toEqual(string);
|
51
49
|
});
|
52
50
|
});
|
53
|
-
describe('getInheritableProperty', function () {
|
54
|
-
it('handles non-dictionary arguments', function () {
|
55
|
-
expect((0, _util.getInheritableProperty)({
|
56
|
-
dict: null,
|
57
|
-
key: 'foo'
|
58
|
-
})).toEqual(undefined);
|
59
|
-
expect((0, _util.getInheritableProperty)({
|
60
|
-
dict: undefined,
|
61
|
-
key: 'foo'
|
62
|
-
})).toEqual(undefined);
|
63
|
-
});
|
64
|
-
it('handles dictionaries that do not contain the property', function () {
|
65
|
-
var emptyDict = new _primitives.Dict();
|
66
|
-
expect((0, _util.getInheritableProperty)({
|
67
|
-
dict: emptyDict,
|
68
|
-
key: 'foo'
|
69
|
-
})).toEqual(undefined);
|
70
|
-
var filledDict = new _primitives.Dict();
|
71
|
-
filledDict.set('bar', 'baz');
|
72
|
-
expect((0, _util.getInheritableProperty)({
|
73
|
-
dict: filledDict,
|
74
|
-
key: 'foo'
|
75
|
-
})).toEqual(undefined);
|
76
|
-
});
|
77
|
-
it('fetches the property if it is not inherited', function () {
|
78
|
-
var ref = new _primitives.Ref(10, 0);
|
79
|
-
var xref = new _test_utils.XRefMock([{
|
80
|
-
ref: ref,
|
81
|
-
data: 'quux'
|
82
|
-
}]);
|
83
|
-
var dict = new _primitives.Dict(xref);
|
84
|
-
dict.set('foo', 'bar');
|
85
|
-
expect((0, _util.getInheritableProperty)({
|
86
|
-
dict: dict,
|
87
|
-
key: 'foo'
|
88
|
-
})).toEqual('bar');
|
89
|
-
dict.set('baz', ['qux', ref]);
|
90
|
-
expect((0, _util.getInheritableProperty)({
|
91
|
-
dict: dict,
|
92
|
-
key: 'baz',
|
93
|
-
getArray: true
|
94
|
-
})).toEqual(['qux', 'quux']);
|
95
|
-
});
|
96
|
-
it('fetches the property if it is inherited and present on one level', function () {
|
97
|
-
var ref = new _primitives.Ref(10, 0);
|
98
|
-
var xref = new _test_utils.XRefMock([{
|
99
|
-
ref: ref,
|
100
|
-
data: 'quux'
|
101
|
-
}]);
|
102
|
-
var firstDict = new _primitives.Dict(xref);
|
103
|
-
var secondDict = new _primitives.Dict(xref);
|
104
|
-
firstDict.set('Parent', secondDict);
|
105
|
-
secondDict.set('foo', 'bar');
|
106
|
-
expect((0, _util.getInheritableProperty)({
|
107
|
-
dict: firstDict,
|
108
|
-
key: 'foo'
|
109
|
-
})).toEqual('bar');
|
110
|
-
secondDict.set('baz', ['qux', ref]);
|
111
|
-
expect((0, _util.getInheritableProperty)({
|
112
|
-
dict: firstDict,
|
113
|
-
key: 'baz',
|
114
|
-
getArray: true
|
115
|
-
})).toEqual(['qux', 'quux']);
|
116
|
-
});
|
117
|
-
it('fetches the property if it is inherited and present on multiple levels', function () {
|
118
|
-
var ref = new _primitives.Ref(10, 0);
|
119
|
-
var xref = new _test_utils.XRefMock([{
|
120
|
-
ref: ref,
|
121
|
-
data: 'quux'
|
122
|
-
}]);
|
123
|
-
var firstDict = new _primitives.Dict(xref);
|
124
|
-
var secondDict = new _primitives.Dict(xref);
|
125
|
-
firstDict.set('Parent', secondDict);
|
126
|
-
firstDict.set('foo', 'bar1');
|
127
|
-
secondDict.set('foo', 'bar2');
|
128
|
-
expect((0, _util.getInheritableProperty)({
|
129
|
-
dict: firstDict,
|
130
|
-
key: 'foo'
|
131
|
-
})).toEqual('bar1');
|
132
|
-
expect((0, _util.getInheritableProperty)({
|
133
|
-
dict: firstDict,
|
134
|
-
key: 'foo',
|
135
|
-
getArray: false,
|
136
|
-
stopWhenFound: false
|
137
|
-
})).toEqual(['bar1', 'bar2']);
|
138
|
-
firstDict.set('baz', ['qux1', ref]);
|
139
|
-
secondDict.set('baz', ['qux2', ref]);
|
140
|
-
expect((0, _util.getInheritableProperty)({
|
141
|
-
dict: firstDict,
|
142
|
-
key: 'baz',
|
143
|
-
getArray: true,
|
144
|
-
stopWhenFound: false
|
145
|
-
})).toEqual([['qux1', 'quux'], ['qux2', 'quux']]);
|
146
|
-
});
|
147
|
-
it('stops searching when the loop limit is reached', function () {
|
148
|
-
var dict = new _primitives.Dict();
|
149
|
-
var currentDict = dict;
|
150
|
-
var parentDict = null;
|
151
|
-
for (var i = 0; i < 150; i++) {
|
152
|
-
parentDict = new _primitives.Dict();
|
153
|
-
currentDict.set('Parent', parentDict);
|
154
|
-
currentDict = parentDict;
|
155
|
-
}
|
156
|
-
parentDict.set('foo', 'bar');
|
157
|
-
expect((0, _util.getInheritableProperty)({
|
158
|
-
dict: dict,
|
159
|
-
key: 'foo'
|
160
|
-
})).toEqual(undefined);
|
161
|
-
dict.set('foo', 'baz');
|
162
|
-
expect((0, _util.getInheritableProperty)({
|
163
|
-
dict: dict,
|
164
|
-
key: 'foo',
|
165
|
-
getArray: false,
|
166
|
-
stopWhenFound: false
|
167
|
-
})).toEqual(['baz']);
|
168
|
-
});
|
169
|
-
});
|
170
51
|
describe('isArrayBuffer', function () {
|
171
52
|
it('handles array buffer values', function () {
|
172
53
|
expect((0, _util.isArrayBuffer)(new ArrayBuffer(0))).toEqual(true);
|
@@ -198,7 +79,9 @@ describe('util', function () {
|
|
198
79
|
expect((0, _util.isEmptyObj)({})).toEqual(true);
|
199
80
|
});
|
200
81
|
it('handles non-empty objects', function () {
|
201
|
-
expect((0, _util.isEmptyObj)({
|
82
|
+
expect((0, _util.isEmptyObj)({
|
83
|
+
foo: 'bar'
|
84
|
+
})).toEqual(false);
|
202
85
|
});
|
203
86
|
});
|
204
87
|
describe('isNum', function () {
|
@@ -253,6 +136,13 @@ describe('util', function () {
|
|
253
136
|
expect((0, _util.log2)(3.14)).toEqual(2);
|
254
137
|
});
|
255
138
|
});
|
139
|
+
describe('string32', function () {
|
140
|
+
it('converts unsigned 32-bit integers to strings', function () {
|
141
|
+
expect((0, _util.string32)(0x74727565)).toEqual('true');
|
142
|
+
expect((0, _util.string32)(0x74797031)).toEqual('typ1');
|
143
|
+
expect((0, _util.string32)(0x4F54544F)).toEqual('OTTO');
|
144
|
+
});
|
145
|
+
});
|
256
146
|
describe('stringToBytes', function () {
|
257
147
|
it('handles non-string arguments', function () {
|
258
148
|
expect(function () {
|
@@ -267,7 +157,7 @@ describe('util', function () {
|
|
267
157
|
describe('stringToPDFString', function () {
|
268
158
|
it('handles ISO Latin 1 strings', function () {
|
269
159
|
var str = '\x8Dstring\x8E';
|
270
|
-
expect((0, _util.stringToPDFString)(str)).toEqual(
|
160
|
+
expect((0, _util.stringToPDFString)(str)).toEqual("\u201Cstring\u201D");
|
271
161
|
});
|
272
162
|
it('handles UTF-16BE strings', function () {
|
273
163
|
var str = '\xFE\xFF\x00\x73\x00\x74\x00\x72\x00\x69\x00\x6E\x00\x67';
|
@@ -293,11 +183,80 @@ describe('util', function () {
|
|
293
183
|
describe('ReadableStream', function () {
|
294
184
|
it('should return an Object', function () {
|
295
185
|
var readable = new _util.ReadableStream();
|
296
|
-
expect(
|
186
|
+
expect(_typeof(readable)).toEqual('object');
|
297
187
|
});
|
298
188
|
it('should have property getReader', function () {
|
299
189
|
var readable = new _util.ReadableStream();
|
300
190
|
expect(_typeof(readable.getReader)).toEqual('function');
|
301
191
|
});
|
302
192
|
});
|
193
|
+
describe('URL', function () {
|
194
|
+
it('should return an Object', function () {
|
195
|
+
var url = new _util.URL('https://example.com');
|
196
|
+
expect(_typeof(url)).toEqual('object');
|
197
|
+
});
|
198
|
+
it('should have property `href`', function () {
|
199
|
+
var url = new _util.URL('https://example.com');
|
200
|
+
expect(_typeof(url.href)).toEqual('string');
|
201
|
+
});
|
202
|
+
});
|
203
|
+
describe('isSameOrigin', function () {
|
204
|
+
it('handles invalid base URLs', function () {
|
205
|
+
expect((0, _util.isSameOrigin)('/foo', '/bar')).toEqual(false);
|
206
|
+
expect((0, _util.isSameOrigin)('blob:foo', '/bar')).toEqual(false);
|
207
|
+
});
|
208
|
+
it('correctly checks if the origin of both URLs matches', function () {
|
209
|
+
expect((0, _util.isSameOrigin)('https://www.mozilla.org/foo', 'https://www.mozilla.org/bar')).toEqual(true);
|
210
|
+
expect((0, _util.isSameOrigin)('https://www.mozilla.org/foo', 'https://www.example.com/bar')).toEqual(false);
|
211
|
+
});
|
212
|
+
});
|
213
|
+
describe('createValidAbsoluteUrl', function () {
|
214
|
+
it('handles invalid URLs', function () {
|
215
|
+
expect((0, _util.createValidAbsoluteUrl)(undefined, undefined)).toEqual(null);
|
216
|
+
expect((0, _util.createValidAbsoluteUrl)(null, null)).toEqual(null);
|
217
|
+
expect((0, _util.createValidAbsoluteUrl)('/foo', '/bar')).toEqual(null);
|
218
|
+
});
|
219
|
+
it('handles URLs that do not use a whitelisted protocol', function () {
|
220
|
+
expect((0, _util.createValidAbsoluteUrl)('magnet:?foo', null)).toEqual(null);
|
221
|
+
});
|
222
|
+
it('correctly creates a valid URL for whitelisted protocols', function () {
|
223
|
+
expect((0, _util.createValidAbsoluteUrl)('http://www.mozilla.org/foo', null)).toEqual(new _util.URL('http://www.mozilla.org/foo'));
|
224
|
+
expect((0, _util.createValidAbsoluteUrl)('/foo', 'http://www.mozilla.org')).toEqual(new _util.URL('http://www.mozilla.org/foo'));
|
225
|
+
expect((0, _util.createValidAbsoluteUrl)('https://www.mozilla.org/foo', null)).toEqual(new _util.URL('https://www.mozilla.org/foo'));
|
226
|
+
expect((0, _util.createValidAbsoluteUrl)('/foo', 'https://www.mozilla.org')).toEqual(new _util.URL('https://www.mozilla.org/foo'));
|
227
|
+
expect((0, _util.createValidAbsoluteUrl)('ftp://www.mozilla.org/foo', null)).toEqual(new _util.URL('ftp://www.mozilla.org/foo'));
|
228
|
+
expect((0, _util.createValidAbsoluteUrl)('/foo', 'ftp://www.mozilla.org')).toEqual(new _util.URL('ftp://www.mozilla.org/foo'));
|
229
|
+
expect((0, _util.createValidAbsoluteUrl)('mailto:foo@bar.baz', null)).toEqual(new _util.URL('mailto:foo@bar.baz'));
|
230
|
+
expect((0, _util.createValidAbsoluteUrl)('/foo', 'mailto:foo@bar.baz')).toEqual(null);
|
231
|
+
expect((0, _util.createValidAbsoluteUrl)('tel:+0123456789', null)).toEqual(new _util.URL('tel:+0123456789'));
|
232
|
+
expect((0, _util.createValidAbsoluteUrl)('/foo', 'tel:0123456789')).toEqual(null);
|
233
|
+
});
|
234
|
+
});
|
235
|
+
describe('createPromiseCapability', function () {
|
236
|
+
it('should resolve with correct data', function (done) {
|
237
|
+
var promiseCapability = (0, _util.createPromiseCapability)();
|
238
|
+
expect(promiseCapability.settled).toEqual(false);
|
239
|
+
promiseCapability.resolve({
|
240
|
+
test: 'abc'
|
241
|
+
});
|
242
|
+
promiseCapability.promise.then(function (data) {
|
243
|
+
expect(promiseCapability.settled).toEqual(true);
|
244
|
+
expect(data).toEqual({
|
245
|
+
test: 'abc'
|
246
|
+
});
|
247
|
+
done();
|
248
|
+
}, done.fail);
|
249
|
+
});
|
250
|
+
it('should reject with correct reason', function (done) {
|
251
|
+
var promiseCapability = (0, _util.createPromiseCapability)();
|
252
|
+
expect(promiseCapability.settled).toEqual(false);
|
253
|
+
promiseCapability.reject(new Error('reason'));
|
254
|
+
promiseCapability.promise.then(done.fail, function (reason) {
|
255
|
+
expect(promiseCapability.settled).toEqual(true);
|
256
|
+
expect(reason instanceof Error).toEqual(true);
|
257
|
+
expect(reason.message).toEqual('reason');
|
258
|
+
done();
|
259
|
+
});
|
260
|
+
});
|
261
|
+
});
|
303
262
|
});
|
@@ -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,35 +19,39 @@
|
|
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.DefaultAnnotationLayerFactory = exports.AnnotationLayerBuilder =
|
27
|
+
exports.DefaultAnnotationLayerFactory = exports.AnnotationLayerBuilder = void 0;
|
28
28
|
|
29
|
-
var
|
29
|
+
var _pdf = require("../pdf");
|
30
30
|
|
31
|
-
var
|
31
|
+
var _ui_utils = require("./ui_utils");
|
32
32
|
|
33
|
-
var
|
34
|
-
|
35
|
-
var _pdf_link_service = require('./pdf_link_service');
|
33
|
+
var _pdf_link_service = require("./pdf_link_service");
|
36
34
|
|
37
35
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
38
36
|
|
39
|
-
var
|
37
|
+
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); } }
|
38
|
+
|
39
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
40
|
+
|
41
|
+
var AnnotationLayerBuilder =
|
42
|
+
/*#__PURE__*/
|
43
|
+
function () {
|
40
44
|
function AnnotationLayerBuilder(_ref) {
|
41
45
|
var pageDiv = _ref.pageDiv,
|
42
46
|
pdfPage = _ref.pdfPage,
|
43
47
|
linkService = _ref.linkService,
|
44
48
|
downloadManager = _ref.downloadManager,
|
45
49
|
_ref$imageResourcesPa = _ref.imageResourcesPath,
|
46
|
-
imageResourcesPath = _ref$imageResourcesPa ===
|
50
|
+
imageResourcesPath = _ref$imageResourcesPa === void 0 ? '' : _ref$imageResourcesPa,
|
47
51
|
_ref$renderInteractiv = _ref.renderInteractiveForms,
|
48
|
-
renderInteractiveForms = _ref$renderInteractiv ===
|
52
|
+
renderInteractiveForms = _ref$renderInteractiv === void 0 ? false : _ref$renderInteractiv,
|
49
53
|
_ref$l10n = _ref.l10n,
|
50
|
-
l10n = _ref$l10n ===
|
54
|
+
l10n = _ref$l10n === void 0 ? _ui_utils.NullL10n : _ref$l10n;
|
51
55
|
|
52
56
|
_classCallCheck(this, AnnotationLayerBuilder);
|
53
57
|
|
@@ -63,18 +67,22 @@ var AnnotationLayerBuilder = function () {
|
|
63
67
|
}
|
64
68
|
|
65
69
|
_createClass(AnnotationLayerBuilder, [{
|
66
|
-
key:
|
70
|
+
key: "render",
|
67
71
|
value: function render(viewport) {
|
68
72
|
var _this = this;
|
69
73
|
|
70
74
|
var intent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'display';
|
71
|
-
|
72
|
-
|
75
|
+
this.pdfPage.getAnnotations({
|
76
|
+
intent: intent
|
77
|
+
}).then(function (annotations) {
|
73
78
|
if (_this._cancelled) {
|
74
79
|
return;
|
75
80
|
}
|
81
|
+
|
76
82
|
var parameters = {
|
77
|
-
viewport: viewport.clone({
|
83
|
+
viewport: viewport.clone({
|
84
|
+
dontFlip: true
|
85
|
+
}),
|
78
86
|
div: _this.div,
|
79
87
|
annotations: annotations,
|
80
88
|
page: _this.pdfPage,
|
@@ -83,32 +91,39 @@ var AnnotationLayerBuilder = function () {
|
|
83
91
|
linkService: _this.linkService,
|
84
92
|
downloadManager: _this.downloadManager
|
85
93
|
};
|
94
|
+
|
86
95
|
if (_this.div) {
|
87
96
|
_pdf.AnnotationLayer.update(parameters);
|
88
97
|
} else {
|
89
98
|
if (annotations.length === 0) {
|
90
99
|
return;
|
91
100
|
}
|
101
|
+
|
92
102
|
_this.div = document.createElement('div');
|
93
103
|
_this.div.className = 'annotationLayer';
|
104
|
+
|
94
105
|
_this.pageDiv.appendChild(_this.div);
|
106
|
+
|
95
107
|
parameters.div = _this.div;
|
108
|
+
|
96
109
|
_pdf.AnnotationLayer.render(parameters);
|
110
|
+
|
97
111
|
_this.l10n.translate(_this.div);
|
98
112
|
}
|
99
113
|
});
|
100
114
|
}
|
101
115
|
}, {
|
102
|
-
key:
|
116
|
+
key: "cancel",
|
103
117
|
value: function cancel() {
|
104
118
|
this._cancelled = true;
|
105
119
|
}
|
106
120
|
}, {
|
107
|
-
key:
|
121
|
+
key: "hide",
|
108
122
|
value: function hide() {
|
109
123
|
if (!this.div) {
|
110
124
|
return;
|
111
125
|
}
|
126
|
+
|
112
127
|
this.div.setAttribute('hidden', 'true');
|
113
128
|
}
|
114
129
|
}]);
|
@@ -116,18 +131,21 @@ var AnnotationLayerBuilder = function () {
|
|
116
131
|
return AnnotationLayerBuilder;
|
117
132
|
}();
|
118
133
|
|
119
|
-
|
134
|
+
exports.AnnotationLayerBuilder = AnnotationLayerBuilder;
|
135
|
+
|
136
|
+
var DefaultAnnotationLayerFactory =
|
137
|
+
/*#__PURE__*/
|
138
|
+
function () {
|
120
139
|
function DefaultAnnotationLayerFactory() {
|
121
140
|
_classCallCheck(this, DefaultAnnotationLayerFactory);
|
122
141
|
}
|
123
142
|
|
124
143
|
_createClass(DefaultAnnotationLayerFactory, [{
|
125
|
-
key:
|
144
|
+
key: "createAnnotationLayerBuilder",
|
126
145
|
value: function createAnnotationLayerBuilder(pageDiv, pdfPage) {
|
127
146
|
var imageResourcesPath = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
|
128
147
|
var renderInteractiveForms = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
129
148
|
var l10n = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : _ui_utils.NullL10n;
|
130
|
-
|
131
149
|
return new AnnotationLayerBuilder({
|
132
150
|
pageDiv: pageDiv,
|
133
151
|
pdfPage: pdfPage,
|
@@ -142,5 +160,4 @@ var DefaultAnnotationLayerFactory = function () {
|
|
142
160
|
return DefaultAnnotationLayerFactory;
|
143
161
|
}();
|
144
162
|
|
145
|
-
exports.AnnotationLayerBuilder = AnnotationLayerBuilder;
|
146
163
|
exports.DefaultAnnotationLayerFactory = DefaultAnnotationLayerFactory;
|