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.

Files changed (168) hide show
  1. package/CODE_OF_CONDUCT.md +15 -0
  2. package/bower.json +1 -1
  3. package/build/pdf.js +21618 -14369
  4. package/build/pdf.js.map +1 -1
  5. package/build/pdf.min.js +1 -1
  6. package/build/pdf.worker.js +22758 -11399
  7. package/build/pdf.worker.js.map +1 -1
  8. package/build/pdf.worker.min.js +1 -1
  9. package/image_decoders/pdf.image_decoders.js +11500 -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 +767 -258
  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 +433 -61
  18. package/lib/core/charsets.js +5 -4
  19. package/lib/core/chunked_stream.js +428 -157
  20. package/lib/core/cmap.js +326 -87
  21. package/lib/core/colorspace.js +874 -594
  22. package/lib/core/core_utils.js +173 -0
  23. package/lib/core/crypto.js +290 -45
  24. package/lib/core/document.js +575 -272
  25. package/lib/core/encodings.js +19 -10
  26. package/lib/core/evaluator.js +1032 -351
  27. package/lib/core/font_renderer.js +331 -97
  28. package/lib/core/fonts.js +813 -196
  29. package/lib/core/function.js +253 -27
  30. package/lib/core/glyphlist.js +5 -3
  31. package/lib/core/image.js +169 -62
  32. package/lib/core/image_utils.js +111 -0
  33. package/lib/core/jbig2.js +502 -72
  34. package/lib/core/jbig2_stream.js +19 -8
  35. package/lib/core/jpeg_stream.js +38 -13
  36. package/lib/core/jpg.js +293 -52
  37. package/lib/core/jpx.js +419 -12
  38. package/lib/core/jpx_stream.js +18 -6
  39. package/lib/core/metrics.js +15 -15
  40. package/lib/core/murmurhash3.js +56 -34
  41. package/lib/core/obj.js +1368 -500
  42. package/lib/core/operator_list.js +159 -43
  43. package/lib/core/parser.js +544 -199
  44. package/lib/core/pattern.js +170 -21
  45. package/lib/core/pdf_manager.js +324 -134
  46. package/lib/core/primitives.js +169 -61
  47. package/lib/core/ps_parser.js +134 -45
  48. package/lib/core/standard_fonts.js +17 -17
  49. package/lib/core/stream.js +327 -34
  50. package/lib/core/type1_parser.js +148 -8
  51. package/lib/core/unicode.js +32 -5
  52. package/lib/core/worker.js +215 -229
  53. package/lib/core/worker_stream.js +277 -0
  54. package/lib/display/annotation_layer.js +618 -192
  55. package/lib/display/api.js +1798 -882
  56. package/lib/display/api_compatibility.js +5 -10
  57. package/lib/display/canvas.js +366 -45
  58. package/lib/display/content_disposition.js +71 -24
  59. package/lib/display/display_utils.js +777 -0
  60. package/lib/display/fetch_stream.js +205 -87
  61. package/lib/display/font_loader.js +468 -236
  62. package/lib/display/metadata.js +38 -16
  63. package/lib/display/network.js +635 -428
  64. package/lib/display/network_utils.js +38 -19
  65. package/lib/display/node_stream.js +367 -175
  66. package/lib/display/pattern_helper.js +103 -36
  67. package/lib/display/svg.js +1232 -519
  68. package/lib/display/text_layer.js +208 -75
  69. package/lib/display/transport_stream.js +345 -94
  70. package/lib/display/webgl.js +64 -18
  71. package/lib/display/worker_options.js +5 -4
  72. package/lib/display/xml_parser.js +166 -53
  73. package/lib/examples/node/domstubs.js +60 -4
  74. package/lib/pdf.js +35 -14
  75. package/lib/pdf.worker.js +5 -3
  76. package/lib/shared/compatibility.js +170 -572
  77. package/lib/shared/global_scope.js +2 -2
  78. package/lib/shared/is_node.js +4 -4
  79. package/lib/shared/message_handler.js +216 -163
  80. package/lib/shared/streams_polyfill.js +21 -17
  81. package/lib/shared/util.js +495 -385
  82. package/lib/test/unit/annotation_spec.js +1464 -401
  83. package/lib/test/unit/api_spec.js +718 -361
  84. package/lib/test/unit/bidi_spec.js +7 -7
  85. package/lib/test/unit/cff_parser_spec.js +54 -11
  86. package/lib/test/unit/clitests_helper.js +9 -10
  87. package/lib/test/unit/cmap_spec.js +95 -41
  88. package/lib/test/unit/colorspace_spec.js +115 -63
  89. package/lib/test/unit/core_utils_spec.js +191 -0
  90. package/lib/test/unit/crypto_spec.js +17 -5
  91. package/lib/test/unit/custom_spec.js +43 -55
  92. package/lib/test/unit/display_svg_spec.js +34 -18
  93. package/lib/test/unit/display_utils_spec.js +273 -0
  94. package/lib/test/unit/document_spec.js +8 -13
  95. package/lib/test/unit/encodings_spec.js +25 -45
  96. package/lib/test/unit/evaluator_spec.js +59 -20
  97. package/lib/test/unit/fetch_stream_spec.js +111 -0
  98. package/lib/test/unit/function_spec.js +17 -5
  99. package/lib/test/unit/jasmine-boot.js +33 -20
  100. package/lib/test/unit/message_handler_spec.js +30 -13
  101. package/lib/test/unit/metadata_spec.js +71 -11
  102. package/lib/test/unit/murmurhash3_spec.js +3 -3
  103. package/lib/test/unit/network_spec.js +22 -55
  104. package/lib/test/unit/network_utils_spec.js +105 -14
  105. package/lib/test/unit/node_stream_spec.js +58 -34
  106. package/lib/test/unit/parser_spec.js +162 -71
  107. package/lib/test/unit/pdf_find_controller_spec.js +230 -0
  108. package/lib/test/unit/pdf_find_utils_spec.js +63 -0
  109. package/lib/test/unit/pdf_history_spec.js +21 -9
  110. package/lib/test/unit/primitives_spec.js +55 -22
  111. package/lib/test/unit/stream_spec.js +12 -4
  112. package/lib/test/unit/test_utils.js +273 -56
  113. package/lib/test/unit/testreporter.js +21 -3
  114. package/lib/test/unit/type1_parser_spec.js +9 -7
  115. package/lib/test/unit/ui_utils_spec.js +236 -36
  116. package/lib/test/unit/unicode_spec.js +18 -15
  117. package/lib/test/unit/util_spec.js +87 -128
  118. package/lib/web/annotation_layer_builder.js +39 -22
  119. package/lib/web/app.js +1252 -609
  120. package/lib/web/app_options.js +103 -65
  121. package/lib/web/base_viewer.js +522 -242
  122. package/lib/web/chromecom.js +259 -117
  123. package/lib/web/debugger.js +166 -22
  124. package/lib/web/download_manager.js +31 -12
  125. package/lib/web/firefox_print_service.js +27 -14
  126. package/lib/web/firefoxcom.js +318 -78
  127. package/lib/web/genericcom.js +89 -30
  128. package/lib/web/genericl10n.js +142 -30
  129. package/lib/web/grab_to_pan.js +28 -4
  130. package/lib/web/interfaces.js +174 -47
  131. package/lib/web/overlay_manager.js +235 -85
  132. package/lib/web/password_prompt.js +22 -14
  133. package/lib/web/pdf_attachment_viewer.js +38 -18
  134. package/lib/web/pdf_cursor_tools.js +39 -16
  135. package/lib/web/pdf_document_properties.js +255 -136
  136. package/lib/web/pdf_find_bar.js +84 -40
  137. package/lib/web/pdf_find_controller.js +495 -184
  138. package/lib/web/pdf_find_utils.js +111 -0
  139. package/lib/web/pdf_history.js +190 -53
  140. package/lib/web/pdf_link_service.js +144 -79
  141. package/lib/web/pdf_outline_viewer.js +124 -47
  142. package/lib/web/pdf_page_view.js +194 -74
  143. package/lib/web/pdf_presentation_mode.js +99 -34
  144. package/lib/web/pdf_print_service.js +59 -13
  145. package/lib/web/pdf_rendering_queue.js +28 -9
  146. package/lib/web/pdf_sidebar.js +144 -81
  147. package/lib/web/pdf_sidebar_resizer.js +42 -16
  148. package/lib/web/pdf_single_page_viewer.js +74 -66
  149. package/lib/web/pdf_thumbnail_view.js +104 -33
  150. package/lib/web/pdf_thumbnail_viewer.js +66 -26
  151. package/lib/web/pdf_viewer.component.js +112 -32
  152. package/lib/web/pdf_viewer.js +82 -87
  153. package/lib/web/preferences.js +284 -91
  154. package/lib/web/secondary_toolbar.js +132 -59
  155. package/lib/web/text_layer_builder.js +134 -59
  156. package/lib/web/toolbar.js +80 -43
  157. package/lib/web/ui_utils.js +400 -134
  158. package/lib/web/view_history.js +215 -67
  159. package/lib/web/viewer_compatibility.js +3 -8
  160. package/package.json +3 -2
  161. package/web/pdf_viewer.css +23 -15
  162. package/web/pdf_viewer.js +3429 -1245
  163. package/web/pdf_viewer.js.map +1 -1
  164. package/external/streams/streams-lib.js +0 -3962
  165. package/lib/display/dom_utils.js +0 -429
  166. package/lib/test/unit/dom_utils_spec.js +0 -89
  167. package/lib/test/unit/fonts_spec.js +0 -81
  168. 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 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,143 +19,138 @@
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.PDFViewer = undefined;
27
+ exports.PDFViewer = 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; }; }();
29
+ var _base_viewer = require("./base_viewer");
30
30
 
31
- var _base_viewer = require('./base_viewer');
31
+ var _pdf = require("../pdf");
32
32
 
33
- var _ui_utils = require('./ui_utils');
34
-
35
- var _pdf = require('../pdf');
33
+ 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); }
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
- function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
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
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
42
+
43
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
44
+
45
+ function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }
46
+
47
+ function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
48
+
49
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
50
+
51
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
40
52
 
41
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
53
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
42
54
 
43
- var PDFViewer = function (_BaseViewer) {
55
+ var PDFViewer =
56
+ /*#__PURE__*/
57
+ function (_BaseViewer) {
44
58
  _inherits(PDFViewer, _BaseViewer);
45
59
 
46
60
  function PDFViewer() {
47
61
  _classCallCheck(this, PDFViewer);
48
62
 
49
- return _possibleConstructorReturn(this, (PDFViewer.__proto__ || Object.getPrototypeOf(PDFViewer)).apply(this, arguments));
63
+ return _possibleConstructorReturn(this, _getPrototypeOf(PDFViewer).apply(this, arguments));
50
64
  }
51
65
 
52
66
  _createClass(PDFViewer, [{
53
- key: '_scrollIntoView',
67
+ key: "_scrollIntoView",
54
68
  value: function _scrollIntoView(_ref) {
55
69
  var pageDiv = _ref.pageDiv,
56
70
  _ref$pageSpot = _ref.pageSpot,
57
- pageSpot = _ref$pageSpot === undefined ? null : _ref$pageSpot;
71
+ pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot,
72
+ _ref$pageNumber = _ref.pageNumber,
73
+ pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber;
58
74
 
59
- if (!pageSpot) {
75
+ if (!pageSpot && !this.isInPresentationMode) {
60
76
  var left = pageDiv.offsetLeft + pageDiv.clientLeft;
61
77
  var right = left + pageDiv.clientWidth;
62
- var _container = this.container,
63
- scrollLeft = _container.scrollLeft,
64
- clientWidth = _container.clientWidth;
78
+ var _this$container = this.container,
79
+ scrollLeft = _this$container.scrollLeft,
80
+ clientWidth = _this$container.clientWidth;
65
81
 
66
- if (this.scrollMode === _base_viewer.ScrollMode.HORIZONTAL || left < scrollLeft || right > scrollLeft + clientWidth) {
82
+ if (this._isScrollModeHorizontal || left < scrollLeft || right > scrollLeft + clientWidth) {
67
83
  pageSpot = {
68
84
  left: 0,
69
85
  top: 0
70
86
  };
71
87
  }
72
88
  }
73
- (0, _ui_utils.scrollIntoView)(pageDiv, pageSpot);
89
+
90
+ _get(_getPrototypeOf(PDFViewer.prototype), "_scrollIntoView", this).call(this, {
91
+ pageDiv: pageDiv,
92
+ pageSpot: pageSpot,
93
+ pageNumber: pageNumber
94
+ });
74
95
  }
75
96
  }, {
76
- key: '_getVisiblePages',
97
+ key: "_getVisiblePages",
77
98
  value: function _getVisiblePages() {
78
- if (!this.isInPresentationMode) {
79
- return (0, _ui_utils.getVisibleElements)(this.container, this._pages, true, this.scrollMode === _base_viewer.ScrollMode.HORIZONTAL);
99
+ if (this.isInPresentationMode) {
100
+ return this._getCurrentVisiblePage();
80
101
  }
81
- var currentPage = this._pages[this._currentPageNumber - 1];
82
- var visible = [{
83
- id: currentPage.id,
84
- view: currentPage
85
- }];
86
- return {
87
- first: currentPage,
88
- last: currentPage,
89
- views: visible
90
- };
102
+
103
+ return _get(_getPrototypeOf(PDFViewer.prototype), "_getVisiblePages", this).call(this);
91
104
  }
92
105
  }, {
93
- key: 'update',
94
- value: function update() {
95
- var visible = this._getVisiblePages();
96
- var visiblePages = visible.views,
97
- numVisiblePages = visiblePages.length;
98
- if (numVisiblePages === 0) {
106
+ key: "_updateHelper",
107
+ value: function _updateHelper(visiblePages) {
108
+ if (this.isInPresentationMode) {
99
109
  return;
100
110
  }
101
- this._resizeBuffer(numVisiblePages, visiblePages);
102
- this.renderingQueue.renderHighestPriority(visible);
111
+
103
112
  var currentId = this._currentPageNumber;
104
113
  var stillFullyVisible = false;
105
- for (var i = 0; i < numVisiblePages; ++i) {
106
- var page = visiblePages[i];
107
- if (page.percent < 100) {
108
- break;
114
+ var _iteratorNormalCompletion = true;
115
+ var _didIteratorError = false;
116
+ var _iteratorError = undefined;
117
+
118
+ try {
119
+ for (var _iterator = visiblePages[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
120
+ var page = _step.value;
121
+
122
+ if (page.percent < 100) {
123
+ break;
124
+ }
125
+
126
+ if (page.id === currentId) {
127
+ stillFullyVisible = true;
128
+ break;
129
+ }
109
130
  }
110
- if (page.id === currentId) {
111
- stillFullyVisible = true;
112
- break;
131
+ } catch (err) {
132
+ _didIteratorError = true;
133
+ _iteratorError = err;
134
+ } finally {
135
+ try {
136
+ if (!_iteratorNormalCompletion && _iterator["return"] != null) {
137
+ _iterator["return"]();
138
+ }
139
+ } finally {
140
+ if (_didIteratorError) {
141
+ throw _iteratorError;
142
+ }
113
143
  }
114
144
  }
145
+
115
146
  if (!stillFullyVisible) {
116
147
  currentId = visiblePages[0].id;
117
148
  }
118
- if (!this.isInPresentationMode) {
119
- this._setCurrentPageNumber(currentId);
120
- }
121
- this._updateLocation(visible.first);
122
- this.eventBus.dispatch('updateviewarea', {
123
- source: this,
124
- location: this._location
125
- });
126
- }
127
- }, {
128
- key: '_regroupSpreads',
129
- value: function _regroupSpreads() {
130
- var container = this._setDocumentViewerElement,
131
- pages = this._pages;
132
- while (container.firstChild) {
133
- container.firstChild.remove();
134
- }
135
- if (this.spreadMode === _base_viewer.SpreadMode.NONE) {
136
- for (var i = 0, iMax = pages.length; i < iMax; ++i) {
137
- container.appendChild(pages[i].div);
138
- }
139
- } else {
140
- var parity = this.spreadMode - 1;
141
- var spread = null;
142
- for (var _i = 0, _iMax = pages.length; _i < _iMax; ++_i) {
143
- if (spread === null) {
144
- spread = document.createElement('div');
145
- spread.className = 'spread';
146
- container.appendChild(spread);
147
- } else if (_i % 2 === parity) {
148
- spread = spread.cloneNode(false);
149
- container.appendChild(spread);
150
- }
151
- spread.appendChild(pages[_i].div);
152
- }
153
- }
154
- this.scrollPageIntoView({ pageNumber: this._currentPageNumber });
155
- this.update();
149
+
150
+ this._setCurrentPageNumber(currentId);
156
151
  }
157
152
  }, {
158
- key: '_setDocumentViewerElement',
153
+ key: "_setDocumentViewerElement",
159
154
  get: function get() {
160
155
  return (0, _pdf.shadow)(this, '_setDocumentViewerElement', this.viewer);
161
156
  }