pdfjs-dist 2.0.487 → 2.1.266

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.

Files changed (161) hide show
  1. package/bower.json +1 -1
  2. package/build/pdf.js +15564 -9476
  3. package/build/pdf.js.map +1 -1
  4. package/build/pdf.min.js +1 -1
  5. package/build/pdf.worker.js +46644 -36309
  6. package/build/pdf.worker.js.map +1 -1
  7. package/build/pdf.worker.min.js +1 -1
  8. package/external/url/url-lib.js +627 -0
  9. package/image_decoders/pdf.image_decoders.js +11430 -0
  10. package/image_decoders/pdf.image_decoders.js.map +1 -0
  11. package/image_decoders/pdf.image_decoders.min.js +1 -0
  12. package/lib/core/annotation.js +406 -131
  13. package/lib/core/arithmetic_decoder.js +275 -245
  14. package/lib/core/bidi.js +65 -6
  15. package/lib/core/ccitt.js +173 -18
  16. package/lib/core/ccitt_stream.js +15 -6
  17. package/lib/core/cff_parser.js +376 -53
  18. package/lib/core/charsets.js +5 -4
  19. package/lib/core/chunked_stream.js +387 -149
  20. package/lib/core/cmap.js +310 -75
  21. package/lib/core/colorspace.js +874 -594
  22. package/lib/core/crypto.js +290 -45
  23. package/lib/core/document.js +545 -260
  24. package/lib/core/encodings.js +19 -10
  25. package/lib/core/evaluator.js +725 -147
  26. package/lib/core/font_renderer.js +360 -91
  27. package/lib/core/fonts.js +791 -186
  28. package/lib/core/function.js +284 -71
  29. package/lib/core/glyphlist.js +3 -2
  30. package/lib/core/image.js +168 -61
  31. package/lib/core/jbig2.js +479 -66
  32. package/lib/core/jbig2_stream.js +19 -8
  33. package/lib/core/jpeg_stream.js +38 -13
  34. package/lib/core/jpg.js +252 -29
  35. package/lib/core/jpx.js +396 -6
  36. package/lib/core/jpx_stream.js +18 -6
  37. package/lib/core/metrics.js +4 -4
  38. package/lib/core/murmurhash3.js +24 -6
  39. package/lib/core/obj.js +1137 -475
  40. package/lib/core/operator_list.js +108 -6
  41. package/lib/core/parser.js +321 -68
  42. package/lib/core/pattern.js +145 -13
  43. package/lib/core/pdf_manager.js +321 -133
  44. package/lib/core/primitives.js +75 -22
  45. package/lib/core/ps_parser.js +134 -45
  46. package/lib/core/standard_fonts.js +10 -10
  47. package/lib/core/stream.js +313 -34
  48. package/lib/core/type1_parser.js +143 -13
  49. package/lib/core/unicode.js +31 -4
  50. package/lib/core/worker.js +210 -66
  51. package/lib/display/annotation_layer.js +361 -123
  52. package/lib/display/api.js +1454 -729
  53. package/lib/display/api_compatibility.js +11 -13
  54. package/lib/display/canvas.js +324 -29
  55. package/lib/display/content_disposition.js +83 -32
  56. package/lib/display/dom_utils.js +226 -41
  57. package/lib/display/fetch_stream.js +208 -84
  58. package/lib/display/font_loader.js +465 -236
  59. package/lib/display/metadata.js +38 -16
  60. package/lib/display/network.js +216 -51
  61. package/lib/display/network_utils.js +32 -19
  62. package/lib/display/node_stream.js +352 -169
  63. package/lib/display/pattern_helper.js +58 -7
  64. package/lib/display/svg.js +242 -29
  65. package/lib/display/text_layer.js +132 -18
  66. package/lib/display/transport_stream.js +171 -42
  67. package/lib/display/webgl.js +64 -18
  68. package/lib/display/worker_options.js +5 -4
  69. package/lib/display/xml_parser.js +166 -53
  70. package/lib/examples/node/domstubs.js +57 -4
  71. package/lib/pdf.js +21 -4
  72. package/lib/pdf.worker.js +5 -3
  73. package/lib/shared/compatibility.js +158 -564
  74. package/lib/shared/global_scope.js +2 -2
  75. package/lib/shared/is_node.js +4 -4
  76. package/lib/shared/message_handler.js +521 -0
  77. package/lib/shared/streams_polyfill.js +21 -17
  78. package/lib/shared/url_polyfill.js +56 -0
  79. package/lib/shared/util.js +295 -650
  80. package/lib/test/unit/annotation_spec.js +629 -345
  81. package/lib/test/unit/api_spec.js +555 -253
  82. package/lib/test/unit/bidi_spec.js +7 -7
  83. package/lib/test/unit/cff_parser_spec.js +40 -11
  84. package/lib/test/unit/clitests_helper.js +9 -7
  85. package/lib/test/unit/cmap_spec.js +80 -26
  86. package/lib/test/unit/colorspace_spec.js +99 -52
  87. package/lib/test/unit/crypto_spec.js +17 -5
  88. package/lib/test/unit/custom_spec.js +41 -53
  89. package/lib/test/unit/display_svg_spec.js +33 -17
  90. package/lib/test/unit/document_spec.js +3 -3
  91. package/lib/test/unit/dom_utils_spec.js +9 -9
  92. package/lib/test/unit/encodings_spec.js +25 -45
  93. package/lib/test/unit/evaluator_spec.js +34 -9
  94. package/lib/test/unit/function_spec.js +17 -5
  95. package/lib/test/unit/jasmine-boot.js +31 -18
  96. package/lib/test/unit/{util_stream_spec.js → message_handler_spec.js} +41 -69
  97. package/lib/test/unit/metadata_spec.js +71 -11
  98. package/lib/test/unit/murmurhash3_spec.js +3 -3
  99. package/lib/test/unit/network_spec.js +20 -5
  100. package/lib/test/unit/network_utils_spec.js +41 -14
  101. package/lib/test/unit/node_stream_spec.js +51 -27
  102. package/lib/test/unit/parser_spec.js +35 -8
  103. package/lib/test/unit/pdf_find_controller_spec.js +230 -0
  104. package/lib/test/unit/pdf_find_utils_spec.js +63 -0
  105. package/lib/test/unit/pdf_history_spec.js +21 -9
  106. package/lib/test/unit/primitives_spec.js +24 -4
  107. package/lib/test/unit/stream_spec.js +12 -4
  108. package/lib/test/unit/test_utils.js +90 -27
  109. package/lib/test/unit/testreporter.js +21 -3
  110. package/lib/test/unit/type1_parser_spec.js +8 -6
  111. package/lib/test/unit/ui_utils_spec.js +452 -14
  112. package/lib/test/unit/unicode_spec.js +14 -11
  113. package/lib/test/unit/util_spec.js +131 -9
  114. package/lib/web/annotation_layer_builder.js +39 -22
  115. package/lib/web/app.js +1240 -582
  116. package/lib/web/app_options.js +71 -41
  117. package/lib/web/base_viewer.js +508 -179
  118. package/lib/web/chromecom.js +261 -117
  119. package/lib/web/debugger.js +166 -22
  120. package/lib/web/download_manager.js +31 -13
  121. package/lib/web/firefox_print_service.js +17 -9
  122. package/lib/web/firefoxcom.js +283 -79
  123. package/lib/web/genericcom.js +89 -30
  124. package/lib/web/genericl10n.js +142 -30
  125. package/lib/web/grab_to_pan.js +26 -4
  126. package/lib/web/interfaces.js +170 -47
  127. package/lib/web/overlay_manager.js +235 -85
  128. package/lib/web/password_prompt.js +21 -13
  129. package/lib/web/pdf_attachment_viewer.js +38 -18
  130. package/lib/web/pdf_cursor_tools.js +39 -16
  131. package/lib/web/pdf_document_properties.js +80 -30
  132. package/lib/web/pdf_find_bar.js +84 -40
  133. package/lib/web/pdf_find_controller.js +495 -184
  134. package/lib/web/pdf_find_utils.js +111 -0
  135. package/lib/web/pdf_history.js +190 -53
  136. package/lib/web/pdf_link_service.js +137 -76
  137. package/lib/web/pdf_outline_viewer.js +73 -22
  138. package/lib/web/pdf_page_view.js +196 -63
  139. package/lib/web/pdf_presentation_mode.js +99 -34
  140. package/lib/web/pdf_print_service.js +57 -11
  141. package/lib/web/pdf_rendering_queue.js +27 -5
  142. package/lib/web/pdf_sidebar.js +120 -67
  143. package/lib/web/pdf_sidebar_resizer.js +42 -16
  144. package/lib/web/pdf_single_page_viewer.js +74 -66
  145. package/lib/web/pdf_thumbnail_view.js +103 -32
  146. package/lib/web/pdf_thumbnail_viewer.js +64 -24
  147. package/lib/web/pdf_viewer.component.js +112 -32
  148. package/lib/web/pdf_viewer.js +91 -52
  149. package/lib/web/preferences.js +275 -80
  150. package/lib/web/secondary_toolbar.js +165 -40
  151. package/lib/web/text_layer_builder.js +162 -65
  152. package/lib/web/toolbar.js +78 -43
  153. package/lib/web/ui_utils.js +462 -136
  154. package/lib/web/view_history.js +215 -67
  155. package/lib/web/viewer_compatibility.js +4 -13
  156. package/package.json +5 -4
  157. package/web/pdf_viewer.css +58 -1
  158. package/web/pdf_viewer.js +6346 -3919
  159. package/web/pdf_viewer.js.map +1 -1
  160. package/lib/test/unit/fonts_spec.js +0 -81
  161. 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 2017 Mozilla Foundation
5
+ * Copyright 2018 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,22 +19,26 @@
19
19
  * @licend The above is the entire license notice for the
20
20
  * Javascript code in this page
21
21
  */
22
- 'use strict';
22
+ "use strict";
23
23
 
24
24
  Object.defineProperty(exports, "__esModule", {
25
25
  value: true
26
26
  });
27
- exports.PDFOutlineViewer = undefined;
27
+ exports.PDFOutlineViewer = void 0;
28
28
 
29
- var _createClass = function () { 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
30
-
31
- var _pdf = require('../pdf');
29
+ var _pdf = require("../pdf");
32
30
 
33
31
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
34
32
 
35
- var DEFAULT_TITLE = '\u2013';
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
+
37
+ var DEFAULT_TITLE = "\u2013";
36
38
 
37
- var PDFOutlineViewer = function () {
39
+ var PDFOutlineViewer =
40
+ /*#__PURE__*/
41
+ function () {
38
42
  function PDFOutlineViewer(_ref) {
39
43
  var container = _ref.container,
40
44
  linkService = _ref.linkService,
@@ -46,10 +50,11 @@ var PDFOutlineViewer = function () {
46
50
  this.linkService = linkService;
47
51
  this.eventBus = eventBus;
48
52
  this.reset();
53
+ eventBus.on('toggleoutlinetree', this.toggleOutlineTree.bind(this));
49
54
  }
50
55
 
51
56
  _createClass(PDFOutlineViewer, [{
52
- key: 'reset',
57
+ key: "reset",
53
58
  value: function reset() {
54
59
  this.outline = null;
55
60
  this.lastToggleIsShow = true;
@@ -57,7 +62,7 @@ var PDFOutlineViewer = function () {
57
62
  this.container.classList.remove('outlineWithDeepNesting');
58
63
  }
59
64
  }, {
60
- key: '_dispatchEvent',
65
+ key: "_dispatchEvent",
61
66
  value: function _dispatchEvent(outlineCount) {
62
67
  this.eventBus.dispatch('outlineloaded', {
63
68
  source: this,
@@ -65,7 +70,7 @@ var PDFOutlineViewer = function () {
65
70
  });
66
71
  }
67
72
  }, {
68
- key: '_bindLink',
73
+ key: "_bindLink",
69
74
  value: function _bindLink(element, _ref2) {
70
75
  var url = _ref2.url,
71
76
  newWindow = _ref2.newWindow,
@@ -80,99 +85,141 @@ var PDFOutlineViewer = function () {
80
85
  });
81
86
  return;
82
87
  }
88
+
83
89
  element.href = linkService.getDestinationHash(dest);
90
+
84
91
  element.onclick = function () {
85
92
  if (dest) {
86
93
  linkService.navigateTo(dest);
87
94
  }
95
+
88
96
  return false;
89
97
  };
90
98
  }
91
99
  }, {
92
- key: '_setStyles',
100
+ key: "_setStyles",
93
101
  value: function _setStyles(element, _ref3) {
94
102
  var bold = _ref3.bold,
95
103
  italic = _ref3.italic;
96
-
97
104
  var styleStr = '';
105
+
98
106
  if (bold) {
99
107
  styleStr += 'font-weight: bold;';
100
108
  }
109
+
101
110
  if (italic) {
102
111
  styleStr += 'font-style: italic;';
103
112
  }
113
+
104
114
  if (styleStr) {
105
115
  element.setAttribute('style', styleStr);
106
116
  }
107
117
  }
108
118
  }, {
109
- key: '_addToggleButton',
119
+ key: "_addToggleButton",
110
120
  value: function _addToggleButton(div) {
111
121
  var _this = this;
112
122
 
113
123
  var toggler = document.createElement('div');
114
124
  toggler.className = 'outlineItemToggler';
125
+
115
126
  toggler.onclick = function (evt) {
116
127
  evt.stopPropagation();
117
128
  toggler.classList.toggle('outlineItemsHidden');
129
+
118
130
  if (evt.shiftKey) {
119
131
  var shouldShowAll = !toggler.classList.contains('outlineItemsHidden');
132
+
120
133
  _this._toggleOutlineItem(div, shouldShowAll);
121
134
  }
122
135
  };
136
+
123
137
  div.insertBefore(toggler, div.firstChild);
124
138
  }
125
139
  }, {
126
- key: '_toggleOutlineItem',
127
- value: function _toggleOutlineItem(root, show) {
140
+ key: "_toggleOutlineItem",
141
+ value: function _toggleOutlineItem(root) {
142
+ var show = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
128
143
  this.lastToggleIsShow = show;
129
- var togglers = root.querySelectorAll('.outlineItemToggler');
130
- for (var i = 0, ii = togglers.length; i < ii; ++i) {
131
- togglers[i].classList[show ? 'remove' : 'add']('outlineItemsHidden');
144
+ var _iteratorNormalCompletion = true;
145
+ var _didIteratorError = false;
146
+ var _iteratorError = undefined;
147
+
148
+ try {
149
+ for (var _iterator = root.querySelectorAll('.outlineItemToggler')[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
150
+ var toggler = _step.value;
151
+ toggler.classList.toggle('outlineItemsHidden', !show);
152
+ }
153
+ } catch (err) {
154
+ _didIteratorError = true;
155
+ _iteratorError = err;
156
+ } finally {
157
+ try {
158
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
159
+ _iterator.return();
160
+ }
161
+ } finally {
162
+ if (_didIteratorError) {
163
+ throw _iteratorError;
164
+ }
165
+ }
132
166
  }
133
167
  }
134
168
  }, {
135
- key: 'toggleOutlineTree',
169
+ key: "toggleOutlineTree",
136
170
  value: function toggleOutlineTree() {
137
171
  if (!this.outline) {
138
172
  return;
139
173
  }
174
+
140
175
  this._toggleOutlineItem(this.container, !this.lastToggleIsShow);
141
176
  }
142
177
  }, {
143
- key: 'render',
178
+ key: "render",
144
179
  value: function render(_ref4) {
145
180
  var outline = _ref4.outline;
146
-
147
181
  var outlineCount = 0;
182
+
148
183
  if (this.outline) {
149
184
  this.reset();
150
185
  }
186
+
151
187
  this.outline = outline || null;
188
+
152
189
  if (!outline) {
153
190
  this._dispatchEvent(outlineCount);
191
+
154
192
  return;
155
193
  }
194
+
156
195
  var fragment = document.createDocumentFragment();
157
196
  var queue = [{
158
197
  parent: fragment,
159
198
  items: this.outline
160
199
  }];
161
200
  var hasAnyNesting = false;
201
+
162
202
  while (queue.length > 0) {
163
203
  var levelData = queue.shift();
204
+
164
205
  for (var i = 0, len = levelData.items.length; i < len; i++) {
165
206
  var item = levelData.items[i];
166
207
  var div = document.createElement('div');
167
208
  div.className = 'outlineItem';
168
209
  var element = document.createElement('a');
210
+
169
211
  this._bindLink(element, item);
212
+
170
213
  this._setStyles(element, item);
214
+
171
215
  element.textContent = (0, _pdf.removeNullCharacters)(item.title) || DEFAULT_TITLE;
172
216
  div.appendChild(element);
217
+
173
218
  if (item.items.length > 0) {
174
219
  hasAnyNesting = true;
220
+
175
221
  this._addToggleButton(div);
222
+
176
223
  var itemsDiv = document.createElement('div');
177
224
  itemsDiv.className = 'outlineItems';
178
225
  div.appendChild(itemsDiv);
@@ -181,14 +228,18 @@ var PDFOutlineViewer = function () {
181
228
  items: item.items
182
229
  });
183
230
  }
231
+
184
232
  levelData.parent.appendChild(div);
185
233
  outlineCount++;
186
234
  }
187
235
  }
236
+
188
237
  if (hasAnyNesting) {
189
238
  this.container.classList.add('outlineWithDeepNesting');
190
239
  }
240
+
191
241
  this.container.appendChild(fragment);
242
+
192
243
  this._dispatchEvent(outlineCount);
193
244
  }
194
245
  }]);