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,34 +19,53 @@
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.FirefoxCom = exports.DownloadManager = undefined;
27
+ exports.FirefoxCom = exports.DownloadManager = void 0;
28
28
 
29
- var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
29
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
30
30
 
31
- 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; }; }();
31
+ require("../extensions/firefox/tools/l10n");
32
32
 
33
- require('../extensions/firefox/tools/l10n');
33
+ var _pdf = require("../pdf");
34
34
 
35
- var _pdf = require('../pdf');
35
+ var _preferences = require("./preferences");
36
36
 
37
- var _preferences = require('./preferences');
37
+ var _ui_utils = require("./ui_utils");
38
38
 
39
- var _app = require('./app');
39
+ var _app = require("./app");
40
40
 
41
- 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; }
41
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
42
42
 
43
- 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; }
43
+ 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); }
44
+
45
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
46
+
47
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
48
+
49
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
50
+
51
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
52
+
53
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
54
+
55
+ 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); }
56
+
57
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
44
58
 
45
59
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
46
60
 
61
+ 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); } }
62
+
63
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
64
+
47
65
  {
48
66
  throw new Error('Module "pdfjs-web/firefoxcom" shall not be used outside ' + 'FIREFOX and MOZCENTRAL builds.');
49
67
  }
68
+
50
69
  var FirefoxCom = function FirefoxComClosure() {
51
70
  return {
52
71
  requestSync: function requestSync(action, data) {
@@ -65,6 +84,7 @@ var FirefoxCom = function FirefoxComClosure() {
65
84
  },
66
85
  request: function request(action, data, callback) {
67
86
  var request = document.createTextNode('');
87
+
68
88
  if (callback) {
69
89
  document.addEventListener('pdf.js.response', function listener(event) {
70
90
  var node = event.target;
@@ -74,6 +94,7 @@ var FirefoxCom = function FirefoxComClosure() {
74
94
  return callback(response);
75
95
  });
76
96
  }
97
+
77
98
  document.documentElement.appendChild(request);
78
99
  var sender = document.createEvent('CustomEvent');
79
100
  sender.initCustomEvent('pdf.js.message', true, false, {
@@ -87,7 +108,11 @@ var FirefoxCom = function FirefoxComClosure() {
87
108
  };
88
109
  }();
89
110
 
90
- var DownloadManager = function () {
111
+ exports.FirefoxCom = FirefoxCom;
112
+
113
+ var DownloadManager =
114
+ /*#__PURE__*/
115
+ function () {
91
116
  function DownloadManager(options) {
92
117
  _classCallCheck(this, DownloadManager);
93
118
 
@@ -95,7 +120,7 @@ var DownloadManager = function () {
95
120
  }
96
121
 
97
122
  _createClass(DownloadManager, [{
98
- key: 'downloadUrl',
123
+ key: "downloadUrl",
99
124
  value: function downloadUrl(url, filename) {
100
125
  FirefoxCom.request('download', {
101
126
  originalUrl: url,
@@ -103,7 +128,7 @@ var DownloadManager = function () {
103
128
  });
104
129
  }
105
130
  }, {
106
- key: 'downloadData',
131
+ key: "downloadData",
107
132
  value: function downloadData(data, filename, contentType) {
108
133
  var blobUrl = (0, _pdf.createObjectURL)(data, contentType);
109
134
  FirefoxCom.request('download', {
@@ -114,17 +139,20 @@ var DownloadManager = function () {
114
139
  });
115
140
  }
116
141
  }, {
117
- key: 'download',
142
+ key: "download",
118
143
  value: function download(blob, url, filename) {
119
144
  var _this = this;
120
145
 
121
146
  var blobUrl = URL.createObjectURL(blob);
147
+
122
148
  var onResponse = function onResponse(err) {
123
149
  if (err && _this.onerror) {
124
150
  _this.onerror(err);
125
151
  }
152
+
126
153
  URL.revokeObjectURL(blobUrl);
127
154
  };
155
+
128
156
  FirefoxCom.request('download', {
129
157
  blobUrl: blobUrl,
130
158
  originalUrl: url,
@@ -136,38 +164,86 @@ var DownloadManager = function () {
136
164
  return DownloadManager;
137
165
  }();
138
166
 
139
- var FirefoxPreferences = function (_BasePreferences) {
167
+ exports.DownloadManager = DownloadManager;
168
+
169
+ var FirefoxPreferences =
170
+ /*#__PURE__*/
171
+ function (_BasePreferences) {
140
172
  _inherits(FirefoxPreferences, _BasePreferences);
141
173
 
142
174
  function FirefoxPreferences() {
143
175
  _classCallCheck(this, FirefoxPreferences);
144
176
 
145
- return _possibleConstructorReturn(this, (FirefoxPreferences.__proto__ || Object.getPrototypeOf(FirefoxPreferences)).apply(this, arguments));
177
+ return _possibleConstructorReturn(this, _getPrototypeOf(FirefoxPreferences).apply(this, arguments));
146
178
  }
147
179
 
148
180
  _createClass(FirefoxPreferences, [{
149
- key: '_writeToStorage',
150
- value: function _writeToStorage(prefObj) {
151
- return new Promise(function (resolve) {
152
- FirefoxCom.request('setPreferences', prefObj, resolve);
153
- });
154
- }
181
+ key: "_writeToStorage",
182
+ value: function () {
183
+ var _writeToStorage2 = _asyncToGenerator(
184
+ /*#__PURE__*/
185
+ _regenerator["default"].mark(function _callee(prefObj) {
186
+ return _regenerator["default"].wrap(function _callee$(_context) {
187
+ while (1) {
188
+ switch (_context.prev = _context.next) {
189
+ case 0:
190
+ return _context.abrupt("return", new Promise(function (resolve) {
191
+ FirefoxCom.request('setPreferences', prefObj, resolve);
192
+ }));
193
+
194
+ case 1:
195
+ case "end":
196
+ return _context.stop();
197
+ }
198
+ }
199
+ }, _callee);
200
+ }));
201
+
202
+ function _writeToStorage(_x) {
203
+ return _writeToStorage2.apply(this, arguments);
204
+ }
205
+
206
+ return _writeToStorage;
207
+ }()
155
208
  }, {
156
- key: '_readFromStorage',
157
- value: function _readFromStorage(prefObj) {
158
- return new Promise(function (resolve) {
159
- FirefoxCom.request('getPreferences', prefObj, function (prefStr) {
160
- var readPrefs = JSON.parse(prefStr);
161
- resolve(readPrefs);
162
- });
163
- });
164
- }
209
+ key: "_readFromStorage",
210
+ value: function () {
211
+ var _readFromStorage2 = _asyncToGenerator(
212
+ /*#__PURE__*/
213
+ _regenerator["default"].mark(function _callee2(prefObj) {
214
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
215
+ while (1) {
216
+ switch (_context2.prev = _context2.next) {
217
+ case 0:
218
+ return _context2.abrupt("return", new Promise(function (resolve) {
219
+ FirefoxCom.request('getPreferences', prefObj, function (prefStr) {
220
+ var readPrefs = JSON.parse(prefStr);
221
+ resolve(readPrefs);
222
+ });
223
+ }));
224
+
225
+ case 1:
226
+ case "end":
227
+ return _context2.stop();
228
+ }
229
+ }
230
+ }, _callee2);
231
+ }));
232
+
233
+ function _readFromStorage(_x2) {
234
+ return _readFromStorage2.apply(this, arguments);
235
+ }
236
+
237
+ return _readFromStorage;
238
+ }()
165
239
  }]);
166
240
 
167
241
  return FirefoxPreferences;
168
242
  }(_preferences.BasePreferences);
169
243
 
170
- var MozL10n = function () {
244
+ var MozL10n =
245
+ /*#__PURE__*/
246
+ function () {
171
247
  function MozL10n(mozL10n) {
172
248
  _classCallCheck(this, MozL10n);
173
249
 
@@ -175,101 +251,263 @@ var MozL10n = function () {
175
251
  }
176
252
 
177
253
  _createClass(MozL10n, [{
178
- key: 'getLanguage',
179
- value: function getLanguage() {
180
- return Promise.resolve(this.mozL10n.getLanguage());
181
- }
254
+ key: "getLanguage",
255
+ value: function () {
256
+ var _getLanguage = _asyncToGenerator(
257
+ /*#__PURE__*/
258
+ _regenerator["default"].mark(function _callee3() {
259
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
260
+ while (1) {
261
+ switch (_context3.prev = _context3.next) {
262
+ case 0:
263
+ return _context3.abrupt("return", this.mozL10n.getLanguage());
264
+
265
+ case 1:
266
+ case "end":
267
+ return _context3.stop();
268
+ }
269
+ }
270
+ }, _callee3, this);
271
+ }));
272
+
273
+ function getLanguage() {
274
+ return _getLanguage.apply(this, arguments);
275
+ }
276
+
277
+ return getLanguage;
278
+ }()
182
279
  }, {
183
- key: 'getDirection',
184
- value: function getDirection() {
185
- return Promise.resolve(this.mozL10n.getDirection());
186
- }
280
+ key: "getDirection",
281
+ value: function () {
282
+ var _getDirection = _asyncToGenerator(
283
+ /*#__PURE__*/
284
+ _regenerator["default"].mark(function _callee4() {
285
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
286
+ while (1) {
287
+ switch (_context4.prev = _context4.next) {
288
+ case 0:
289
+ return _context4.abrupt("return", this.mozL10n.getDirection());
290
+
291
+ case 1:
292
+ case "end":
293
+ return _context4.stop();
294
+ }
295
+ }
296
+ }, _callee4, this);
297
+ }));
298
+
299
+ function getDirection() {
300
+ return _getDirection.apply(this, arguments);
301
+ }
302
+
303
+ return getDirection;
304
+ }()
187
305
  }, {
188
- key: 'get',
189
- value: function get(property, args, fallback) {
190
- return Promise.resolve(this.mozL10n.get(property, args, fallback));
191
- }
306
+ key: "get",
307
+ value: function () {
308
+ var _get = _asyncToGenerator(
309
+ /*#__PURE__*/
310
+ _regenerator["default"].mark(function _callee5(property, args, fallback) {
311
+ return _regenerator["default"].wrap(function _callee5$(_context5) {
312
+ while (1) {
313
+ switch (_context5.prev = _context5.next) {
314
+ case 0:
315
+ return _context5.abrupt("return", this.mozL10n.get(property, args, fallback));
316
+
317
+ case 1:
318
+ case "end":
319
+ return _context5.stop();
320
+ }
321
+ }
322
+ }, _callee5, this);
323
+ }));
324
+
325
+ function get(_x3, _x4, _x5) {
326
+ return _get.apply(this, arguments);
327
+ }
328
+
329
+ return get;
330
+ }()
192
331
  }, {
193
- key: 'translate',
194
- value: function translate(element) {
195
- this.mozL10n.translate(element);
196
- return Promise.resolve();
197
- }
332
+ key: "translate",
333
+ value: function () {
334
+ var _translate = _asyncToGenerator(
335
+ /*#__PURE__*/
336
+ _regenerator["default"].mark(function _callee6(element) {
337
+ return _regenerator["default"].wrap(function _callee6$(_context6) {
338
+ while (1) {
339
+ switch (_context6.prev = _context6.next) {
340
+ case 0:
341
+ this.mozL10n.translate(element);
342
+
343
+ case 1:
344
+ case "end":
345
+ return _context6.stop();
346
+ }
347
+ }
348
+ }, _callee6, this);
349
+ }));
350
+
351
+ function translate(_x6) {
352
+ return _translate.apply(this, arguments);
353
+ }
354
+
355
+ return translate;
356
+ }()
198
357
  }]);
199
358
 
200
359
  return MozL10n;
201
360
  }();
202
361
 
203
362
  (function listenFindEvents() {
204
- var events = ['find', 'findagain', 'findhighlightallchange', 'findcasesensitivitychange'];
205
- var handleEvent = function handleEvent(evt) {
363
+ var events = ['find', 'findagain', 'findhighlightallchange', 'findcasesensitivitychange', 'findentirewordchange', 'findbarclose'];
364
+
365
+ var handleEvent = function handleEvent(_ref) {
366
+ var type = _ref.type,
367
+ detail = _ref.detail;
368
+
206
369
  if (!_app.PDFViewerApplication.initialized) {
207
370
  return;
208
371
  }
372
+
373
+ if (type === 'findbarclose') {
374
+ _app.PDFViewerApplication.eventBus.dispatch(type, {
375
+ source: window
376
+ });
377
+
378
+ return;
379
+ }
380
+
209
381
  _app.PDFViewerApplication.eventBus.dispatch('find', {
210
382
  source: window,
211
- type: evt.type.substring('find'.length),
212
- query: evt.detail.query,
383
+ type: type.substring('find'.length),
384
+ query: detail.query,
213
385
  phraseSearch: true,
214
- caseSensitive: !!evt.detail.caseSensitive,
215
- highlightAll: !!evt.detail.highlightAll,
216
- findPrevious: !!evt.detail.findPrevious
386
+ caseSensitive: !!detail.caseSensitive,
387
+ entireWord: !!detail.entireWord,
388
+ highlightAll: !!detail.highlightAll,
389
+ findPrevious: !!detail.findPrevious
217
390
  });
218
391
  };
219
- for (var i = 0, len = events.length; i < len; i++) {
220
- window.addEventListener(events[i], handleEvent);
392
+
393
+ for (var _i = 0, _events = events; _i < _events.length; _i++) {
394
+ var event = _events[_i];
395
+ window.addEventListener(event, handleEvent);
221
396
  }
222
397
  })();
223
- function FirefoxComDataRangeTransport(length, initialData) {
224
- _pdf.PDFDataRangeTransport.call(this, length, initialData);
225
- }
226
- FirefoxComDataRangeTransport.prototype = Object.create(_pdf.PDFDataRangeTransport.prototype);
227
- FirefoxComDataRangeTransport.prototype.requestDataRange = function FirefoxComDataRangeTransport_requestDataRange(begin, end) {
228
- FirefoxCom.request('requestDataRange', {
229
- begin: begin,
230
- end: end
231
- });
232
- };
233
- FirefoxComDataRangeTransport.prototype.abort = function FirefoxComDataRangeTransport_abort() {
234
- FirefoxCom.requestSync('abortLoading', null);
235
- };
398
+
399
+ (function listenZoomEvents() {
400
+ var events = ['zoomin', 'zoomout', 'zoomreset'];
401
+
402
+ var handleEvent = function handleEvent(_ref2) {
403
+ var type = _ref2.type,
404
+ detail = _ref2.detail;
405
+
406
+ if (!_app.PDFViewerApplication.initialized) {
407
+ return;
408
+ }
409
+
410
+ if (type === 'zoomreset' && _app.PDFViewerApplication.pdfViewer.currentScaleValue === _ui_utils.DEFAULT_SCALE_VALUE) {
411
+ return;
412
+ }
413
+
414
+ _app.PDFViewerApplication.eventBus.dispatch(type, {
415
+ source: window
416
+ });
417
+ };
418
+
419
+ for (var _i2 = 0, _events2 = events; _i2 < _events2.length; _i2++) {
420
+ var event = _events2[_i2];
421
+ window.addEventListener(event, handleEvent);
422
+ }
423
+ })();
424
+
425
+ var FirefoxComDataRangeTransport =
426
+ /*#__PURE__*/
427
+ function (_PDFDataRangeTranspor) {
428
+ _inherits(FirefoxComDataRangeTransport, _PDFDataRangeTranspor);
429
+
430
+ function FirefoxComDataRangeTransport() {
431
+ _classCallCheck(this, FirefoxComDataRangeTransport);
432
+
433
+ return _possibleConstructorReturn(this, _getPrototypeOf(FirefoxComDataRangeTransport).apply(this, arguments));
434
+ }
435
+
436
+ _createClass(FirefoxComDataRangeTransport, [{
437
+ key: "requestDataRange",
438
+ value: function requestDataRange(begin, end) {
439
+ FirefoxCom.request('requestDataRange', {
440
+ begin: begin,
441
+ end: end
442
+ });
443
+ }
444
+ }, {
445
+ key: "abort",
446
+ value: function abort() {
447
+ FirefoxCom.requestSync('abortLoading', null);
448
+ }
449
+ }]);
450
+
451
+ return FirefoxComDataRangeTransport;
452
+ }(_pdf.PDFDataRangeTransport);
453
+
236
454
  _app.PDFViewerApplication.externalServices = {
237
455
  updateFindControlState: function updateFindControlState(data) {
238
456
  FirefoxCom.request('updateFindControlState', data);
239
457
  },
458
+ updateFindMatchesCount: function updateFindMatchesCount(data) {
459
+ FirefoxCom.request('updateFindMatchesCount', data);
460
+ },
240
461
  initPassiveLoading: function initPassiveLoading(callbacks) {
241
- var pdfDataRangeTransport = void 0;
462
+ var pdfDataRangeTransport;
242
463
  window.addEventListener('message', function windowMessage(e) {
243
464
  if (e.source !== null) {
244
465
  console.warn('Rejected untrusted message from ' + e.origin);
245
466
  return;
246
467
  }
468
+
247
469
  var args = e.data;
248
- if ((typeof args === 'undefined' ? 'undefined' : _typeof(args)) !== 'object' || !('pdfjsLoadAction' in args)) {
470
+
471
+ if (_typeof(args) !== 'object' || !('pdfjsLoadAction' in args)) {
249
472
  return;
250
473
  }
474
+
251
475
  switch (args.pdfjsLoadAction) {
252
476
  case 'supportsRangedLoading':
253
- pdfDataRangeTransport = new FirefoxComDataRangeTransport(args.length, args.data);
477
+ pdfDataRangeTransport = new FirefoxComDataRangeTransport(args.length, args.data, args.done);
254
478
  callbacks.onOpenWithTransport(args.pdfUrl, args.length, pdfDataRangeTransport);
255
479
  break;
480
+
256
481
  case 'range':
257
482
  pdfDataRangeTransport.onDataRange(args.begin, args.chunk);
258
483
  break;
484
+
259
485
  case 'rangeProgress':
260
486
  pdfDataRangeTransport.onDataProgress(args.loaded);
261
487
  break;
488
+
262
489
  case 'progressiveRead':
263
490
  pdfDataRangeTransport.onDataProgressiveRead(args.chunk);
491
+ pdfDataRangeTransport.onDataProgress(args.loaded, args.total);
264
492
  break;
493
+
494
+ case 'progressiveDone':
495
+ if (pdfDataRangeTransport) {
496
+ pdfDataRangeTransport.onDataProgressiveDone();
497
+ }
498
+
499
+ break;
500
+
265
501
  case 'progress':
266
502
  callbacks.onProgress(args.loaded, args.total);
267
503
  break;
504
+
268
505
  case 'complete':
269
506
  if (!args.data) {
270
507
  callbacks.onError(args.errorCode);
271
508
  break;
272
509
  }
510
+
273
511
  callbacks.onOpenWithData(args.data);
274
512
  break;
275
513
  }
@@ -297,18 +535,22 @@ _app.PDFViewerApplication.externalServices = {
297
535
  var support = FirefoxCom.requestSync('supportsIntegratedFind');
298
536
  return (0, _pdf.shadow)(this, 'supportsIntegratedFind', support);
299
537
  },
538
+
300
539
  get supportsDocumentFonts() {
301
540
  var support = FirefoxCom.requestSync('supportsDocumentFonts');
302
541
  return (0, _pdf.shadow)(this, 'supportsDocumentFonts', support);
303
542
  },
543
+
304
544
  get supportsDocumentColors() {
305
545
  var support = FirefoxCom.requestSync('supportsDocumentColors');
306
546
  return (0, _pdf.shadow)(this, 'supportsDocumentColors', support);
307
547
  },
548
+
308
549
  get supportedMouseWheelZoomModifierKeys() {
309
550
  var support = FirefoxCom.requestSync('supportedMouseWheelZoomModifierKeys');
310
551
  return (0, _pdf.shadow)(this, 'supportedMouseWheelZoomModifierKeys', support);
311
552
  }
553
+
312
554
  };
313
555
  document.mozL10n.setExternalLocalizerServices({
314
556
  getLocale: function getLocale() {
@@ -317,6 +559,4 @@ document.mozL10n.setExternalLocalizerServices({
317
559
  getStrings: function getStrings(key) {
318
560
  return FirefoxCom.requestSync('getStrings', key);
319
561
  }
320
- });
321
- exports.DownloadManager = DownloadManager;
322
- exports.FirefoxCom = FirefoxCom;
562
+ });