pdfjs-dist 2.0.943 → 2.4.456

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 (192) hide show
  1. package/CODE_OF_CONDUCT.md +15 -0
  2. package/README.md +4 -0
  3. package/bower.json +1 -1
  4. package/build/pdf.js +8286 -14230
  5. package/build/pdf.js.map +1 -1
  6. package/build/pdf.min.js +22 -1
  7. package/build/pdf.worker.entry.js +5 -3
  8. package/build/pdf.worker.js +25500 -26628
  9. package/build/pdf.worker.js.map +1 -1
  10. package/build/pdf.worker.min.js +22 -1
  11. package/es5/build/pdf.js +25473 -0
  12. package/es5/build/pdf.js.map +1 -0
  13. package/{lib/shared/global_scope.js → es5/build/pdf.worker.entry.js} +5 -10
  14. package/es5/build/pdf.worker.js +57878 -0
  15. package/es5/build/pdf.worker.js.map +1 -0
  16. package/es5/web/images/annotation-check.svg +11 -0
  17. package/es5/web/images/annotation-comment.svg +16 -0
  18. package/es5/web/images/annotation-help.svg +26 -0
  19. package/es5/web/images/annotation-insert.svg +10 -0
  20. package/es5/web/images/annotation-key.svg +11 -0
  21. package/es5/web/images/annotation-newparagraph.svg +11 -0
  22. package/es5/web/images/annotation-noicon.svg +7 -0
  23. package/es5/web/images/annotation-note.svg +42 -0
  24. package/es5/web/images/annotation-paragraph.svg +16 -0
  25. package/es5/web/images/loading-icon.gif +0 -0
  26. package/es5/web/images/shadow.png +0 -0
  27. package/es5/web/images/texture.png +0 -0
  28. package/es5/web/pdf_viewer.css +407 -0
  29. package/es5/web/pdf_viewer.js +7757 -0
  30. package/es5/web/pdf_viewer.js.map +1 -0
  31. package/image_decoders/pdf.image_decoders.js +2887 -4094
  32. package/image_decoders/pdf.image_decoders.js.map +1 -1
  33. package/image_decoders/pdf.image_decoders.min.js +22 -1
  34. package/lib/README.md +7 -0
  35. package/lib/core/annotation.js +855 -778
  36. package/lib/core/arithmetic_decoder.js +325 -311
  37. package/lib/core/bidi.js +117 -50
  38. package/lib/core/ccitt.js +251 -89
  39. package/lib/core/ccitt_stream.js +26 -16
  40. package/lib/core/cff_parser.js +525 -197
  41. package/lib/core/charsets.js +6 -5
  42. package/lib/core/chunked_stream.js +541 -406
  43. package/lib/core/cmap.js +368 -253
  44. package/lib/core/colorspace.js +781 -800
  45. package/lib/core/core_utils.js +152 -0
  46. package/lib/core/crypto.js +609 -422
  47. package/lib/core/document.js +649 -481
  48. package/lib/core/encodings.js +33 -24
  49. package/lib/core/evaluator.js +1471 -736
  50. package/lib/core/font_renderer.js +289 -149
  51. package/lib/core/fonts.js +1067 -413
  52. package/lib/core/function.js +517 -287
  53. package/lib/core/glyphlist.js +4529 -4527
  54. package/lib/core/image.js +232 -114
  55. package/lib/core/image_utils.js +94 -0
  56. package/lib/core/jbig2.js +711 -342
  57. package/lib/core/jbig2_stream.js +31 -19
  58. package/lib/core/jpeg_stream.js +151 -26
  59. package/lib/core/jpg.js +433 -181
  60. package/lib/core/jpx.js +551 -143
  61. package/lib/core/jpx_stream.js +40 -28
  62. package/lib/core/metrics.js +2931 -2931
  63. package/lib/core/murmurhash3.js +104 -97
  64. package/lib/core/obj.js +1561 -1053
  65. package/lib/core/operator_list.js +192 -64
  66. package/lib/core/parser.js +1162 -864
  67. package/lib/core/pattern.js +224 -75
  68. package/lib/core/pdf_manager.js +154 -285
  69. package/lib/core/primitives.js +145 -69
  70. package/lib/core/ps_parser.js +212 -162
  71. package/lib/core/standard_fonts.js +245 -244
  72. package/lib/core/stream.js +353 -81
  73. package/lib/core/type1_parser.js +218 -68
  74. package/lib/core/unicode.js +1682 -1655
  75. package/lib/core/worker.js +233 -302
  76. package/lib/core/worker_stream.js +168 -0
  77. package/lib/display/annotation_layer.js +808 -862
  78. package/lib/display/api.js +1778 -1462
  79. package/lib/display/api_compatibility.js +14 -9
  80. package/lib/display/canvas.js +463 -140
  81. package/lib/display/content_disposition.js +86 -58
  82. package/lib/display/display_utils.js +524 -0
  83. package/lib/display/fetch_stream.js +202 -274
  84. package/lib/display/font_loader.js +311 -333
  85. package/lib/display/metadata.js +98 -88
  86. package/lib/display/network.js +343 -347
  87. package/lib/display/network_utils.js +46 -26
  88. package/lib/display/node_stream.js +326 -404
  89. package/lib/display/pattern_helper.js +168 -69
  90. package/lib/display/svg.js +1296 -885
  91. package/lib/display/text_layer.js +229 -103
  92. package/lib/display/transport_stream.js +290 -250
  93. package/lib/display/webgl.js +116 -83
  94. package/lib/display/worker_options.js +6 -5
  95. package/lib/display/xml_parser.js +358 -337
  96. package/lib/examples/node/domstubs.js +95 -39
  97. package/lib/pdf.js +49 -31
  98. package/lib/pdf.worker.js +7 -5
  99. package/lib/shared/compatibility.js +3 -145
  100. package/lib/shared/is_node.js +8 -7
  101. package/lib/shared/message_handler.js +367 -314
  102. package/lib/shared/util.js +421 -415
  103. package/lib/test/unit/annotation_spec.js +1570 -690
  104. package/lib/test/unit/api_spec.js +855 -493
  105. package/lib/test/unit/bidi_spec.js +12 -12
  106. package/lib/test/unit/cff_parser_spec.js +88 -61
  107. package/lib/test/unit/clitests_helper.js +9 -12
  108. package/lib/test/unit/cmap_spec.js +140 -88
  109. package/lib/test/unit/colorspace_spec.js +204 -152
  110. package/lib/test/unit/core_utils_spec.js +211 -0
  111. package/lib/test/unit/crypto_spec.js +194 -182
  112. package/lib/test/unit/custom_spec.js +50 -64
  113. package/lib/test/unit/display_svg_spec.js +53 -38
  114. package/lib/test/unit/display_utils_spec.js +263 -0
  115. package/lib/test/unit/document_spec.js +17 -22
  116. package/lib/test/unit/encodings_spec.js +15 -57
  117. package/lib/test/unit/evaluator_spec.js +90 -83
  118. package/lib/test/unit/fetch_stream_spec.js +111 -0
  119. package/lib/test/unit/function_spec.js +219 -205
  120. package/lib/test/unit/jasmine-boot.js +68 -39
  121. package/lib/test/unit/message_handler_spec.js +187 -160
  122. package/lib/test/unit/metadata_spec.js +87 -34
  123. package/lib/test/unit/murmurhash3_spec.js +13 -13
  124. package/lib/test/unit/network_spec.js +26 -59
  125. package/lib/test/unit/network_utils_spec.js +187 -121
  126. package/lib/test/unit/node_stream_spec.js +98 -90
  127. package/lib/test/unit/parser_spec.js +173 -131
  128. package/lib/test/unit/pdf_find_controller_spec.js +148 -67
  129. package/lib/test/unit/pdf_find_utils_spec.js +35 -34
  130. package/lib/test/unit/pdf_history_spec.js +45 -33
  131. package/lib/test/unit/primitives_spec.js +161 -126
  132. package/lib/test/unit/stream_spec.js +22 -15
  133. package/lib/test/unit/test_utils.js +149 -98
  134. package/lib/test/unit/testreporter.js +36 -18
  135. package/lib/test/unit/type1_parser_spec.js +46 -44
  136. package/lib/test/unit/ui_utils_spec.js +388 -372
  137. package/lib/test/unit/unicode_spec.js +49 -46
  138. package/lib/test/unit/util_spec.js +144 -248
  139. package/lib/web/annotation_layer_builder.js +75 -95
  140. package/lib/web/app.js +1538 -1147
  141. package/lib/web/app_options.js +116 -104
  142. package/lib/web/base_viewer.js +950 -775
  143. package/lib/web/chromecom.js +217 -225
  144. package/lib/web/debugger.js +236 -148
  145. package/lib/web/download_manager.js +50 -50
  146. package/lib/web/firefox_print_service.js +51 -33
  147. package/lib/web/firefoxcom.js +225 -352
  148. package/lib/web/genericcom.js +30 -93
  149. package/lib/web/genericl10n.js +26 -143
  150. package/lib/web/grab_to_pan.js +57 -33
  151. package/lib/web/interfaces.js +105 -232
  152. package/lib/web/overlay_manager.js +73 -227
  153. package/lib/web/password_prompt.js +44 -62
  154. package/lib/web/pdf_attachment_viewer.js +118 -123
  155. package/lib/web/pdf_cursor_tools.js +89 -93
  156. package/lib/web/pdf_document_properties.js +242 -281
  157. package/lib/web/pdf_find_bar.js +157 -163
  158. package/lib/web/pdf_find_controller.js +598 -454
  159. package/lib/web/pdf_find_utils.js +32 -16
  160. package/lib/web/pdf_history.js +481 -355
  161. package/lib/web/pdf_link_service.js +355 -323
  162. package/lib/web/pdf_outline_viewer.js +167 -152
  163. package/lib/web/pdf_page_view.js +511 -457
  164. package/lib/web/pdf_presentation_mode.js +347 -335
  165. package/lib/web/pdf_print_service.js +133 -103
  166. package/lib/web/pdf_rendering_queue.js +98 -100
  167. package/lib/web/pdf_sidebar.js +323 -299
  168. package/lib/web/pdf_sidebar_resizer.js +107 -108
  169. package/lib/web/pdf_single_page_viewer.js +94 -146
  170. package/lib/web/pdf_thumbnail_view.js +319 -269
  171. package/lib/web/pdf_thumbnail_viewer.js +219 -199
  172. package/lib/web/pdf_viewer.component.js +111 -32
  173. package/lib/web/pdf_viewer.js +61 -101
  174. package/lib/web/preferences.js +87 -272
  175. package/lib/web/secondary_toolbar.js +207 -220
  176. package/lib/web/text_layer_builder.js +322 -322
  177. package/lib/web/toolbar.js +227 -180
  178. package/lib/web/ui_utils.js +476 -421
  179. package/lib/web/view_history.js +59 -208
  180. package/lib/web/viewer_compatibility.js +9 -6
  181. package/package.json +2 -9
  182. package/web/pdf_viewer.css +36 -22
  183. package/web/pdf_viewer.js +4407 -4516
  184. package/web/pdf_viewer.js.map +1 -1
  185. package/webpack.js +14 -5
  186. package/external/streams/streams-lib.js +0 -3962
  187. package/external/url/url-lib.js +0 -627
  188. package/lib/display/dom_utils.js +0 -441
  189. package/lib/shared/streams_polyfill.js +0 -39
  190. package/lib/shared/url_polyfill.js +0 -50
  191. package/lib/test/unit/dom_utils_spec.js +0 -89
  192. package/lib/web/dom_events.js +0 -140
@@ -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 2018 Mozilla Foundation
5
+ * Copyright 2020 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,52 +19,36 @@
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.ChromeCom = undefined;
27
+ exports.ChromeCom = void 0;
28
28
 
29
- var _regenerator = require('babel-runtime/regenerator');
29
+ var _app = require("./app.js");
30
30
 
31
- var _regenerator2 = _interopRequireDefault(_regenerator);
31
+ var _app_options = require("./app_options.js");
32
32
 
33
- 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; }; }();
33
+ var _preferences = require("./preferences.js");
34
34
 
35
- var _app = require('./app');
35
+ var _download_manager = require("./download_manager.js");
36
36
 
37
- var _app_options = require('./app_options');
38
-
39
- var _preferences = require('./preferences');
40
-
41
- var _download_manager = require('./download_manager');
42
-
43
- var _genericl10n = require('./genericl10n');
44
-
45
- var _pdf = require('../pdf');
46
-
47
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
48
-
49
- function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
50
-
51
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
52
-
53
- 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; }
54
-
55
- 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; }
37
+ var _genericl10n = require("./genericl10n.js");
56
38
 
57
39
  {
58
- throw new Error('Module "pdfjs-web/chromecom" shall not be used outside ' + 'CHROME build.');
40
+ throw new Error('Module "pdfjs-web/chromecom" shall not be used outside CHROME build.');
59
41
  }
60
- var ChromeCom = {
61
- request: function request(action, data, callback) {
62
- var message = {
63
- action: action,
64
- data: data
42
+ const ChromeCom = {
43
+ request(action, data, callback) {
44
+ const message = {
45
+ action,
46
+ data
65
47
  };
48
+
66
49
  if (!chrome.runtime) {
67
- console.error('chrome.runtime is undefined.');
50
+ console.error("chrome.runtime is undefined.");
51
+
68
52
  if (callback) {
69
53
  callback();
70
54
  }
@@ -74,20 +58,25 @@ var ChromeCom = {
74
58
  chrome.runtime.sendMessage(message);
75
59
  }
76
60
  },
77
- resolvePDFFile: function resolvePDFFile(file, overlayManager, callback) {
78
- file = file.replace(/^drive:/i, 'filesystem:' + location.origin + '/external/');
61
+
62
+ resolvePDFFile(file, overlayManager, callback) {
63
+ file = file.replace(/^drive:/i, "filesystem:" + location.origin + "/external/");
64
+
79
65
  if (/^https?:/.test(file)) {
80
66
  setReferer(file, function () {
81
67
  callback(file);
82
68
  });
83
69
  return;
84
70
  }
71
+
85
72
  if (/^file?:/.test(file)) {
86
73
  getEmbedderOrigin(function (origin) {
87
74
  if (origin && !/^file:|^chrome-extension:/.test(origin)) {
88
- _app.PDFViewerApplication.error('Blocked ' + origin + ' from loading ' + file + '. Refused to load a local file in a non-local page ' + 'for security reasons.');
75
+ _app.PDFViewerApplication.error("Blocked " + origin + " from loading " + file + ". Refused to load a local file in a non-local page " + "for security reasons.");
76
+
89
77
  return;
90
78
  }
79
+
91
80
  isAllowedFileSchemeAccess(function (isAllowedAccess) {
92
81
  if (isAllowedAccess) {
93
82
  callback(file);
@@ -98,303 +87,306 @@ var ChromeCom = {
98
87
  });
99
88
  return;
100
89
  }
90
+
101
91
  callback(file);
102
92
  }
93
+
103
94
  };
95
+ exports.ChromeCom = ChromeCom;
96
+
104
97
  function getEmbedderOrigin(callback) {
105
- var origin = window === top ? location.origin : location.ancestorOrigins[0];
106
- if (origin === 'null') {
98
+ const origin = window === top ? location.origin : location.ancestorOrigins[0];
99
+
100
+ if (origin === "null") {
107
101
  getParentOrigin(callback);
108
102
  } else {
109
103
  callback(origin);
110
104
  }
111
105
  }
106
+
112
107
  function getParentOrigin(callback) {
113
- ChromeCom.request('getParentOrigin', null, callback);
108
+ ChromeCom.request("getParentOrigin", null, callback);
114
109
  }
110
+
115
111
  function isAllowedFileSchemeAccess(callback) {
116
- ChromeCom.request('isAllowedFileSchemeAccess', null, callback);
112
+ ChromeCom.request("isAllowedFileSchemeAccess", null, callback);
117
113
  }
114
+
118
115
  function isRuntimeAvailable() {
119
116
  try {
120
117
  if (chrome.runtime && chrome.runtime.getManifest()) {
121
118
  return true;
122
119
  }
123
120
  } catch (e) {}
121
+
124
122
  return false;
125
123
  }
124
+
126
125
  function reloadIfRuntimeIsUnavailable() {
127
126
  if (!isRuntimeAvailable()) {
128
127
  location.reload();
129
128
  }
130
129
  }
131
- var chromeFileAccessOverlayPromise = void 0;
130
+
131
+ let chromeFileAccessOverlayPromise;
132
+
132
133
  function requestAccessToLocalFile(fileUrl, overlayManager, callback) {
133
- var onCloseOverlay = null;
134
+ let onCloseOverlay = null;
135
+
134
136
  if (top !== window) {
135
- window.addEventListener('focus', reloadIfRuntimeIsUnavailable);
136
- onCloseOverlay = function onCloseOverlay() {
137
- window.removeEventListener('focus', reloadIfRuntimeIsUnavailable);
137
+ window.addEventListener("focus", reloadIfRuntimeIsUnavailable);
138
+
139
+ onCloseOverlay = function () {
140
+ window.removeEventListener("focus", reloadIfRuntimeIsUnavailable);
138
141
  reloadIfRuntimeIsUnavailable();
139
- overlayManager.close('chromeFileAccessOverlay');
142
+ overlayManager.close("chromeFileAccessOverlay");
140
143
  };
141
144
  }
145
+
142
146
  if (!chromeFileAccessOverlayPromise) {
143
- chromeFileAccessOverlayPromise = overlayManager.register('chromeFileAccessOverlay', document.getElementById('chromeFileAccessOverlay'), onCloseOverlay, true);
147
+ chromeFileAccessOverlayPromise = overlayManager.register("chromeFileAccessOverlay", document.getElementById("chromeFileAccessOverlay"), onCloseOverlay, true);
144
148
  }
149
+
145
150
  chromeFileAccessOverlayPromise.then(function () {
146
- var iconPath = chrome.runtime.getManifest().icons[48];
147
- document.getElementById('chrome-pdfjs-logo-bg').style.backgroundImage = 'url(' + chrome.runtime.getURL(iconPath) + ')';
148
- var i18nFileAccessLabel = {
149
- "am": '\u1208\u134B\u12ED\u120D \u12E9\u12A0\u122D\u12A4\u120D\u12CE\u127D \u1218\u12F3\u1228\u123B \u134D\u1240\u12F5',
150
- "ar": '\u200F\u0627\u0644\u0633\u0645\u0627\u062D \u0628\u0627\u0644\u062F\u062E\u0648\u0644 \u0625\u0644\u0649 \u0639\u0646\u0627\u0648\u064A\u0646 URL \u0644\u0644\u0645\u0644\u0641\u0627\u062A',
151
- "bg": '\u0414\u0430 \u0441\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0438 \u0434\u043E\u0441\u0442\u044A\u043F \u0434\u043E URL \u0430\u0434\u0440\u0435\u0441\u0438\u0442\u0435 \u043D\u0430 \u0444\u0430\u0439\u043B\u043E\u0432\u0435\u0442\u0435',
152
- "bn": '\u09AB\u09BE\u0987\u09B2 URL\u0997\u09C1\u09B2\u09BF\u09A4\u09C7 \u0985\u09CD\u09AF\u09BE\u0995\u09CD\u09B8\u09C7\u09B8 \u09AE\u099E\u09CD\u099C\u09C1\u09B0 \u0995\u09B0\u09C1\u09A8',
153
- "ca": 'Permet l\'acc\xE9s als URL de fitxer',
154
- "cs": 'Umo\u017Enit p\u0159\xEDstup k adres\xE1m URL soubor\u016F',
155
- "da": 'Tillad adgang til webadresser p\xE5 filer',
151
+ const iconPath = chrome.runtime.getManifest().icons[48];
152
+ document.getElementById("chrome-pdfjs-logo-bg").style.backgroundImage = "url(" + chrome.runtime.getURL(iconPath) + ")";
153
+ const i18nFileAccessLabel = {
154
+ "am": "\u1208\u134b\u12ed\u120d \u12e9\u12a0\u122d\u12a4\u120d\u12ce\u127d \u1218\u12f3\u1228\u123b \u134d\u1240\u12f5",
155
+ "ar": "\u200f\u0627\u0644\u0633\u0645\u0627\u062d \u0628\u0627\u0644\u062f\u062e\u0648\u0644 \u0625\u0644\u0649 \u0639\u0646\u0627\u0648\u064a\u0646 URL \u0644\u0644\u0645\u0644\u0641\u0627\u062a",
156
+ "bg": "\u0414\u0430 \u0441\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0438 \u0434\u043e\u0441\u0442\u044a\u043f \u0434\u043e URL \u0430\u0434\u0440\u0435\u0441\u0438\u0442\u0435 \u043d\u0430 \u0444\u0430\u0439\u043b\u043e\u0432\u0435\u0442\u0435",
157
+ "bn": "\u09ab\u09be\u0987\u09b2 URL\u0997\u09c1\u09b2\u09bf\u09a4\u09c7 \u0985\u09cd\u09af\u09be\u0995\u09cd\u09b8\u09c7\u09b8 \u09ae\u099e\u09cd\u099c\u09c1\u09b0 \u0995\u09b0\u09c1\u09a8",
158
+ "ca": "Permet l'acc\u00e9s als URL de fitxer",
159
+ "cs": "Umo\u017enit p\u0159\u00edstup k adres\u00e1m URL soubor\u016f",
160
+ "da": "Tillad adgang til webadresser p\u00e5 filer",
156
161
  "de": "Zugriff auf Datei-URLs zulassen",
157
- "el": '\u039D\u03B1 \u03B5\u03C0\u03B9\u03C4\u03C1\u03AD\u03C0\u03B5\u03C4\u03B1\u03B9 \u03B7 \u03C0\u03C1\u03CC\u03C3\u03B2\u03B1\u03C3\u03B7 \u03C3\u03B5 \u03B4\u03B9\u03B5\u03C5\u03B8\u03CD\u03BD\u03C3\u03B5\u03B9\u03C2 URL \u03B1\u03C1\u03C7\u03B5\u03AF\u03C9\u03BD',
162
+ "el": "\u039d\u03b1 \u03b5\u03c0\u03b9\u03c4\u03c1\u03ad\u03c0\u03b5\u03c4\u03b1\u03b9 \u03b7 \u03c0\u03c1\u03cc\u03c3\u03b2\u03b1\u03c3\u03b7 \u03c3\u03b5 \u03b4\u03b9\u03b5\u03c5\u03b8\u03cd\u03bd\u03c3\u03b5\u03b9\u03c2 URL \u03b1\u03c1\u03c7\u03b5\u03af\u03c9\u03bd",
158
163
  "en-GB": "Allow access to file URLs",
159
164
  "es": "Permitir acceso a URL de archivo",
160
165
  "es-419": "Permitir el acceso a las URL del archivo",
161
- "et": 'Luba juurdep\xE4\xE4s failide URL-idele',
162
- "fa": '\u200F\u0627\u062C\u0627\u0632\u0647\u0654 \u062F\u0633\u062A\u0631\u0633\u06CC \u0628\u0647 URL \u0647\u0627\u06CC \u0641\u0627\u06CC\u0644',
163
- "fi": 'Salli tiedostojen URL-osoitteiden k\xE4ytt\xF6',
166
+ "et": "Luba juurdep\u00e4\u00e4s failide URL-idele",
167
+ "fa": "\u200f\u0627\u062c\u0627\u0632\u0647\u0654 \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 URL \u0647\u0627\u06cc \u0641\u0627\u06cc\u0644",
168
+ "fi": "Salli tiedostojen URL-osoitteiden k\u00e4ytt\u00f6",
164
169
  "fil": "Payagan ang access na mag-file ng mga URL",
165
- "fr": 'Autoriser l\'acc\xE8s aux URL de fichier',
166
- "gu": 'URL \u0AAB\u0ABE\u0A87\u0AB2 \u0A95\u0AB0\u0AB5\u0ABE \u0A8D\u0A95\u0ACD\u0AB8\u0AC7\u0AB8\u0AA8\u0AC0 \u0AAE\u0A82\u0A9C\u0AC2\u0AB0\u0AC0 \u0A86\u0AAA\u0ACB',
167
- "hi": '\u092B\u093C\u093E\u0907\u0932 URL \u0924\u0915 \u092A\u0939\u0941\u0902\u091A\u0928\u0947 \u0915\u0940 \u0905\u0928\u0941\u092E\u0924\u093F \u0926\u0947\u0902',
170
+ "fr": "Autoriser l'acc\u00e8s aux URL de fichier",
171
+ "gu": "URL \u0aab\u0abe\u0a87\u0ab2 \u0a95\u0ab0\u0ab5\u0abe \u0a8d\u0a95\u0acd\u0ab8\u0ac7\u0ab8\u0aa8\u0ac0 \u0aae\u0a82\u0a9c\u0ac2\u0ab0\u0ac0 \u0a86\u0aaa\u0acb",
172
+ "hi": "\u092b\u093c\u093e\u0907\u0932 URL \u0924\u0915 \u092a\u0939\u0941\u0902\u091a\u0928\u0947 \u0915\u0940 \u0905\u0928\u0941\u092e\u0924\u093f \u0926\u0947\u0902",
168
173
  "hr": "Dozvoli pristup URL-ovima datoteke",
169
- "hu": 'F\xE1jl URL-ekhez val\xF3 hozz\xE1f\xE9r\xE9s enged\xE9lyez\xE9se',
174
+ "hu": "F\u00e1jl URL-ekhez val\u00f3 hozz\u00e1f\u00e9r\u00e9s enged\u00e9lyez\u00e9se",
170
175
  "id": "Izinkan akses ke URL file",
171
176
  "it": "Consenti l'accesso agli URL dei file",
172
- "iw": '\u05D0\u05E4\u05E9\u05E8 \u05D2\u05D9\u05E9\u05D4 \u05DC\u05DB\u05EA\u05D5\u05D1\u05D5\u05EA \u05D0\u05EA\u05E8\u05D9\u05DD \u05E9\u05DC \u05E7\u05D1\u05E6\u05D9\u05DD',
173
- "ja": '\u30D5\u30A1\u30A4\u30EB\u306E URL \u3078\u306E\u30A2\u30AF\u30BB\u30B9\u3092\u8A31\u53EF\u3059\u308B',
174
- "kn": 'URL \u0C97\u0CB3\u0CA8\u0CCD\u0CA8\u0CC1 \u0CAB\u0CC8\u0CB2\u0CCD\u200C\u0C97\u0CB3\u0CBF\u0C97\u0CC6 \u0CAA\u0CCD\u0CB0\u0CB5\u0CC7\u0CB6\u0CBF\u0CB8\u0CB2\u0CC1 \u0C85\u0CA8\u0CC1\u0CAE\u0CA4\u0CBF\u0CB8\u0CBF',
175
- "ko": '\uD30C\uC77C URL\uC5D0 \uB300\uD55C \uC561\uC138\uC2A4 \uD5C8\uC6A9',
177
+ "iw": "\u05d0\u05e4\u05e9\u05e8 \u05d2\u05d9\u05e9\u05d4 \u05dc\u05db\u05ea\u05d5\u05d1\u05d5\u05ea \u05d0\u05ea\u05e8\u05d9\u05dd \u05e9\u05dc \u05e7\u05d1\u05e6\u05d9\u05dd",
178
+ "ja": "\u30d5\u30a1\u30a4\u30eb\u306e URL \u3078\u306e\u30a2\u30af\u30bb\u30b9\u3092\u8a31\u53ef\u3059\u308b",
179
+ "kn": "URL \u0c97\u0cb3\u0ca8\u0ccd\u0ca8\u0cc1 \u0cab\u0cc8\u0cb2\u0ccd\u200c\u0c97\u0cb3\u0cbf\u0c97\u0cc6 \u0caa\u0ccd\u0cb0\u0cb5\u0cc7\u0cb6\u0cbf\u0cb8\u0cb2\u0cc1 \u0c85\u0ca8\u0cc1\u0cae\u0ca4\u0cbf\u0cb8\u0cbf",
180
+ "ko": "\ud30c\uc77c URL\uc5d0 \ub300\ud55c \uc561\uc138\uc2a4 \ud5c8\uc6a9",
176
181
  "lt": "Leisti pasiekti failo URL",
177
- "lv": 'At\u013Caut piek\u013Cuvi faila vietr\u0101\u017Eiem URL',
178
- "ml": 'URL \u0D15\u0D33\u0D4D\u200D\u200C \u0D2B\u0D2F\u0D32\u0D4D\u200D\u200C \u0D1A\u0D46\u0D2F\u0D4D\u0D2F\u0D41\u0D28\u0D4D\u0D28\u0D24\u0D3F\u0D28\u0D4D \u0D06\u0D15\u0D4D\u200D\u0D38\u0D38\u0D4D\u0D38\u0D4D \u0D05\u0D28\u0D41\u0D35\u0D26\u0D3F\u0D15\u0D4D\u0D15\u0D41\u0D15',
179
- "mr": '\u092B\u093E\u0907\u0932 URL \u092E\u0927\u094D\u092F\u0947 \u092A\u094D\u0930\u0935\u0947\u0936\u093E\u0938 \u0905\u0928\u0941\u092E\u0924\u0940 \u0926\u094D\u092F\u093E',
182
+ "lv": "At\u013caut piek\u013cuvi faila vietr\u0101\u017eiem URL",
183
+ "ml": "URL \u0d15\u0d33\u0d4d\u200d\u200c \u0d2b\u0d2f\u0d32\u0d4d\u200d\u200c \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d41\u0d28\u0d4d\u0d28\u0d24\u0d3f\u0d28\u0d4d \u0d06\u0d15\u0d4d\u200d\u0d38\u0d38\u0d4d\u0d38\u0d4d \u0d05\u0d28\u0d41\u0d35\u0d26\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15",
184
+ "mr": "\u092b\u093e\u0907\u0932 URL \u092e\u0927\u094d\u092f\u0947 \u092a\u094d\u0930\u0935\u0947\u0936\u093e\u0938 \u0905\u0928\u0941\u092e\u0924\u0940 \u0926\u094d\u092f\u093e",
180
185
  "ms": "Membenarkan akses ke URL fail",
181
186
  "nl": "Toegang tot bestand-URL's toestaan",
182
187
  "no": "Tillat tilgang til filnettadresser",
183
- "pl": 'Zezwalaj na dost\u0119p do adres\xF3w URL plik\xF3w',
188
+ "pl": "Zezwalaj na dost\u0119p do adres\u00f3w URL plik\u00f3w",
184
189
  "pt-BR": "Permitir acesso aos URLs do arquivo",
185
190
  "pt-PT": "Permitir acesso a URLs de ficheiro",
186
- "ro": 'Permite accesul la adresele URL de fi\u0219iere',
187
- "ru": '\u0420\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044C \u043E\u0442\u043A\u0440\u044B\u0432\u0430\u0442\u044C \u0444\u0430\u0439\u043B\u044B \u043F\u043E \u0441\u0441\u044B\u043B\u043A\u0430\u043C',
188
- "sk": 'Povoli\u0165 pr\xEDstup k webov\xFDm adres\xE1m s\xFAboru',
191
+ "ro": "Permite accesul la adresele URL de fi\u0219iere",
192
+ "ru": "\u0420\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044c \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0442\u044c \u0444\u0430\u0439\u043b\u044b \u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0430\u043c",
193
+ "sk": "Povoli\u0165 pr\u00edstup k webov\u00fdm adres\u00e1m s\u00faboru",
189
194
  "sl": "Dovoli dostop do URL-jev datoteke",
190
- "sr": '\u0414\u043E\u0437\u0432\u043E\u043B\u0438 \u043F\u0440\u0438\u0441\u0442\u0443\u043F URL \u0430\u0434\u0440\u0435\u0441\u0430\u043C\u0430 \u0434\u0430\u0442\u043E\u0442\u0435\u043A\u0430',
191
- "sv": 'Till\xE5t \xE5tkomst till webbadresser i filen',
195
+ "sr": "\u0414\u043e\u0437\u0432\u043e\u043b\u0438 \u043f\u0440\u0438\u0441\u0442\u0443\u043f URL \u0430\u0434\u0440\u0435\u0441\u0430\u043c\u0430 \u0434\u0430\u0442\u043e\u0442\u0435\u043a\u0430",
196
+ "sv": "Till\u00e5t \u00e5tkomst till webbadresser i filen",
192
197
  "sw": "Ruhusu kufikia URL za faili",
193
- "ta": '\u0B95\u0BCB\u0BAA\u0BCD\u0BAA\u0BC1 URL\u0B95\u0BB3\u0BC1\u0B95\u0BCD\u0B95\u0BC1 \u0B85\u0BA3\u0BC1\u0B95\u0BB2\u0BC8 \u0B85\u0BA9\u0BC1\u0BAE\u0BA4\u0BBF',
194
- "te": '\u0C2B\u0C48\u0C32\u0C4D URL\u0C32\u0C15\u0C41 \u0C2A\u0C4D\u0C30\u0C3E\u0C2A\u0C4D\u0C24\u0C3F\u0C28\u0C3F \u0C05\u0C28\u0C41\u0C2E\u0C24\u0C3F\u0C02\u0C1A\u0C41',
195
- "th": '\u0E2D\u0E19\u0E38\u0E0D\u0E32\u0E15\u0E43\u0E2B\u0E49\u0E40\u0E02\u0E49\u0E32\u0E16\u0E36\u0E07\u0E44\u0E1F\u0E25\u0E4C URL',
196
- "tr": 'Dosya URL\'lerine eri\u015Fime izin ver',
197
- "uk": '\u041D\u0430\u0434\u0430\u0432\u0430\u0442\u0438 \u0434\u043E\u0441\u0442\u0443\u043F \u0434\u043E URL-\u0430\u0434\u0440\u0435\u0441 \u0444\u0430\u0439\u043B\u0443',
198
- "vi": 'Cho ph\xE9p truy c\u1EADp v\xE0o c\xE1c URL c\u1EE7a t\u1EC7p',
199
- "zh-CN": '\u5141\u8BB8\u8BBF\u95EE\u6587\u4EF6\u7F51\u5740',
200
- "zh-TW": '\u5141\u8A31\u5B58\u53D6\u6A94\u6848\u7DB2\u5740'
198
+ "ta": "\u0b95\u0bcb\u0baa\u0bcd\u0baa\u0bc1 URL\u0b95\u0bb3\u0bc1\u0b95\u0bcd\u0b95\u0bc1 \u0b85\u0ba3\u0bc1\u0b95\u0bb2\u0bc8 \u0b85\u0ba9\u0bc1\u0bae\u0ba4\u0bbf",
199
+ "te": "\u0c2b\u0c48\u0c32\u0c4d URL\u0c32\u0c15\u0c41 \u0c2a\u0c4d\u0c30\u0c3e\u0c2a\u0c4d\u0c24\u0c3f\u0c28\u0c3f \u0c05\u0c28\u0c41\u0c2e\u0c24\u0c3f\u0c02\u0c1a\u0c41",
200
+ "th": "\u0e2d\u0e19\u0e38\u0e0d\u0e32\u0e15\u0e43\u0e2b\u0e49\u0e40\u0e02\u0e49\u0e32\u0e16\u0e36\u0e07\u0e44\u0e1f\u0e25\u0e4c URL",
201
+ "tr": "Dosya URL'lerine eri\u015fime izin ver",
202
+ "uk": "\u041d\u0430\u0434\u0430\u0432\u0430\u0442\u0438 \u0434\u043e\u0441\u0442\u0443\u043f \u0434\u043e URL-\u0430\u0434\u0440\u0435\u0441 \u0444\u0430\u0439\u043b\u0443",
203
+ "vi": "Cho ph\u00e9p truy c\u1eadp v\u00e0o c\u00e1c URL c\u1ee7a t\u1ec7p",
204
+ "zh-CN": "\u5141\u8bb8\u8bbf\u95ee\u6587\u4ef6\u7f51\u5740",
205
+ "zh-TW": "\u5141\u8a31\u5b58\u53d6\u6a94\u6848\u7db2\u5740"
201
206
  }[chrome.i18n.getUILanguage && chrome.i18n.getUILanguage()];
207
+
202
208
  if (i18nFileAccessLabel) {
203
- document.getElementById('chrome-file-access-label').textContent = i18nFileAccessLabel;
209
+ document.getElementById("chrome-file-access-label").textContent = i18nFileAccessLabel;
204
210
  }
205
- var link = document.getElementById('chrome-link-to-extensions-page');
206
- link.href = 'chrome://extensions/?id=' + chrome.runtime.id;
211
+
212
+ const link = document.getElementById("chrome-link-to-extensions-page");
213
+ link.href = "chrome://extensions/?id=" + chrome.runtime.id;
214
+
207
215
  link.onclick = function (e) {
208
216
  e.preventDefault();
209
- ChromeCom.request('openExtensionsPageForFileAccess', { newTab: e.ctrlKey || e.metaKey || e.button === 1 || window !== top });
217
+ ChromeCom.request("openExtensionsPageForFileAccess", {
218
+ newTab: e.ctrlKey || e.metaKey || e.button === 1 || window !== top
219
+ });
210
220
  };
211
- document.getElementById('chrome-url-of-local-file').textContent = fileUrl;
212
- document.getElementById('chrome-file-fallback').onchange = function () {
213
- var file = this.files[0];
221
+
222
+ document.getElementById("chrome-url-of-local-file").textContent = fileUrl;
223
+
224
+ document.getElementById("chrome-file-fallback").onchange = function () {
225
+ const file = this.files[0];
226
+
214
227
  if (file) {
215
- var originalFilename = decodeURIComponent(fileUrl.split('/').pop());
216
- var originalUrl = fileUrl;
228
+ const originalFilename = decodeURIComponent(fileUrl.split("/").pop());
229
+ let originalUrl = fileUrl;
230
+
217
231
  if (originalFilename !== file.name) {
218
- var msg = 'The selected file does not match the original file.' + '\nOriginal: ' + originalFilename + '\nSelected: ' + file.name + '\nDo you want to open the selected file?';
232
+ const msg = "The selected file does not match the original file." + "\nOriginal: " + originalFilename + "\nSelected: " + file.name + "\nDo you want to open the selected file?";
233
+
219
234
  if (!confirm(msg)) {
220
- this.value = '';
235
+ this.value = "";
221
236
  return;
222
237
  }
223
- originalUrl = 'file:///fakepath/to/' + encodeURIComponent(file.name);
238
+
239
+ originalUrl = "file:///fakepath/to/" + encodeURIComponent(file.name);
224
240
  }
225
- callback(_pdf.URL.createObjectURL(file), file.size, originalUrl);
226
- overlayManager.close('chromeFileAccessOverlay');
241
+
242
+ callback(URL.createObjectURL(file), file.size, originalUrl);
243
+ overlayManager.close("chromeFileAccessOverlay");
227
244
  }
228
245
  };
229
- overlayManager.open('chromeFileAccessOverlay');
246
+
247
+ overlayManager.open("chromeFileAccessOverlay");
230
248
  });
231
249
  }
250
+
232
251
  if (window === top) {
233
- addEventListener('unload', function () {
252
+ addEventListener("unload", function () {
234
253
  if (!isRuntimeAvailable()) {
235
- localStorage.setItem('unload-' + Date.now() + '-' + document.hidden + '-' + location.href, JSON.stringify(history.state));
254
+ localStorage.setItem("unload-" + Date.now() + "-" + document.hidden + "-" + location.href, JSON.stringify(history.state));
236
255
  }
237
256
  });
238
257
  }
239
- var port = void 0;
258
+
259
+ let port;
260
+
240
261
  function setReferer(url, callback) {
241
262
  if (!port) {
242
- port = chrome.runtime.connect({ name: 'chromecom-referrer' });
263
+ port = chrome.runtime.connect({
264
+ name: "chromecom-referrer"
265
+ });
243
266
  }
267
+
244
268
  port.onDisconnect.addListener(onDisconnect);
245
269
  port.onMessage.addListener(onMessage);
246
270
  port.postMessage({
247
271
  referer: window.history.state && window.history.state.chromecomState,
248
272
  requestUrl: url
249
273
  });
274
+
250
275
  function onMessage(referer) {
251
276
  if (referer) {
252
- var state = window.history.state || {};
277
+ const state = window.history.state || {};
253
278
  state.chromecomState = referer;
254
- window.history.replaceState(state, '');
279
+ window.history.replaceState(state, "");
255
280
  }
281
+
256
282
  onCompleted();
257
283
  }
284
+
258
285
  function onDisconnect() {
259
286
  port = null;
260
287
  callback();
261
288
  }
289
+
262
290
  function onCompleted() {
263
291
  port.onDisconnect.removeListener(onDisconnect);
264
292
  port.onMessage.removeListener(onMessage);
265
293
  callback();
266
294
  }
267
295
  }
268
- var storageArea = chrome.storage.sync || chrome.storage.local;
269
296
 
270
- var ChromePreferences = function (_BasePreferences) {
271
- _inherits(ChromePreferences, _BasePreferences);
297
+ const storageArea = chrome.storage.sync || chrome.storage.local;
272
298
 
273
- function ChromePreferences() {
274
- _classCallCheck(this, ChromePreferences);
275
-
276
- return _possibleConstructorReturn(this, (ChromePreferences.__proto__ || Object.getPrototypeOf(ChromePreferences)).apply(this, arguments));
299
+ class ChromePreferences extends _preferences.BasePreferences {
300
+ async _writeToStorage(prefObj) {
301
+ return new Promise(resolve => {
302
+ if (prefObj === this.defaults) {
303
+ const keysToRemove = Object.keys(this.defaults);
304
+ storageArea.remove(keysToRemove, function () {
305
+ resolve();
306
+ });
307
+ } else {
308
+ storageArea.set(prefObj, function () {
309
+ resolve();
310
+ });
311
+ }
312
+ });
277
313
  }
278
314
 
279
- _createClass(ChromePreferences, [{
280
- key: '_writeToStorage',
281
- value: function () {
282
- var _ref = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee(prefObj) {
283
- var _this2 = this;
284
-
285
- return _regenerator2.default.wrap(function _callee$(_context) {
286
- while (1) {
287
- switch (_context.prev = _context.next) {
288
- case 0:
289
- return _context.abrupt('return', new Promise(function (resolve) {
290
- if (prefObj === _this2.defaults) {
291
- var keysToRemove = Object.keys(_this2.defaults);
292
- storageArea.remove(keysToRemove, function () {
293
- resolve();
294
- });
295
- } else {
296
- storageArea.set(prefObj, function () {
297
- resolve();
298
- });
299
- }
300
- }));
301
-
302
- case 1:
303
- case 'end':
304
- return _context.stop();
305
- }
315
+ async _readFromStorage(prefObj) {
316
+ return new Promise(resolve => {
317
+ const getPreferences = defaultPrefs => {
318
+ if (chrome.runtime.lastError) {
319
+ defaultPrefs = this.defaults;
320
+ }
321
+
322
+ storageArea.get(defaultPrefs, function (readPrefs) {
323
+ resolve(readPrefs);
324
+ });
325
+ };
326
+
327
+ if (chrome.storage.managed) {
328
+ const defaultManagedPrefs = Object.assign({
329
+ enableHandToolOnLoad: false,
330
+ disableTextLayer: false,
331
+ enhanceTextSelection: false,
332
+ showPreviousViewOnLoad: true,
333
+ disablePageMode: false
334
+ }, this.defaults);
335
+ chrome.storage.managed.get(defaultManagedPrefs, function (items) {
336
+ items = items || defaultManagedPrefs;
337
+
338
+ if (items.enableHandToolOnLoad && !items.cursorToolOnLoad) {
339
+ items.cursorToolOnLoad = 1;
306
340
  }
307
- }, _callee, this);
308
- }));
309
341
 
310
- function _writeToStorage(_x) {
311
- return _ref.apply(this, arguments);
312
- }
342
+ delete items.enableHandToolOnLoad;
313
343
 
314
- return _writeToStorage;
315
- }()
316
- }, {
317
- key: '_readFromStorage',
318
- value: function () {
319
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee2(prefObj) {
320
- var _this3 = this;
321
-
322
- return _regenerator2.default.wrap(function _callee2$(_context2) {
323
- while (1) {
324
- switch (_context2.prev = _context2.next) {
325
- case 0:
326
- return _context2.abrupt('return', new Promise(function (resolve) {
327
- var getPreferences = function getPreferences(defaultPrefs) {
328
- if (chrome.runtime.lastError) {
329
- defaultPrefs = _this3.defaults;
330
- }
331
- storageArea.get(defaultPrefs, function (readPrefs) {
332
- resolve(readPrefs);
333
- });
334
- };
335
- if (chrome.storage.managed) {
336
- var defaultManagedPrefs = Object.assign({
337
- enableHandToolOnLoad: false,
338
- disableTextLayer: false,
339
- enhanceTextSelection: false
340
- }, _this3.defaults);
341
- chrome.storage.managed.get(defaultManagedPrefs, function (items) {
342
- items = items || defaultManagedPrefs;
343
- if (items.enableHandToolOnLoad && !items.cursorToolOnLoad) {
344
- items.cursorToolOnLoad = 1;
345
- }
346
- delete items.enableHandToolOnLoad;
347
- if (items.textLayerMode !== 1) {
348
- if (items.disableTextLayer) {
349
- items.textLayerMode = 0;
350
- } else if (items.enhanceTextSelection) {
351
- items.textLayerMode = 2;
352
- }
353
- }
354
- delete items.disableTextLayer;
355
- delete items.enhanceTextSelection;
356
- getPreferences(items);
357
- });
358
- } else {
359
- getPreferences(_this3.defaults);
360
- }
361
- }));
362
-
363
- case 1:
364
- case 'end':
365
- return _context2.stop();
344
+ if (items.textLayerMode !== 1) {
345
+ if (items.disableTextLayer) {
346
+ items.textLayerMode = 0;
347
+ } else if (items.enhanceTextSelection) {
348
+ items.textLayerMode = 2;
366
349
  }
367
350
  }
368
- }, _callee2, this);
369
- }));
370
351
 
371
- function _readFromStorage(_x2) {
372
- return _ref2.apply(this, arguments);
352
+ delete items.disableTextLayer;
353
+ delete items.enhanceTextSelection;
354
+
355
+ if (!items.showPreviousViewOnLoad && !items.viewOnLoad) {
356
+ items.viewOnLoad = 1;
357
+ }
358
+
359
+ delete items.showPreviousViewOnLoad;
360
+ delete items.disablePageMode;
361
+ getPreferences(items);
362
+ });
363
+ } else {
364
+ getPreferences(this.defaults);
373
365
  }
366
+ });
367
+ }
374
368
 
375
- return _readFromStorage;
376
- }()
377
- }]);
369
+ }
378
370
 
379
- return ChromePreferences;
380
- }(_preferences.BasePreferences);
371
+ class ChromeExternalServices extends _app.DefaultExternalServices {
372
+ static initPassiveLoading(callbacks) {
373
+ ChromeCom.resolvePDFFile(_app_options.AppOptions.get("defaultUrl"), _app.PDFViewerApplication.overlayManager, function (url, length, originalUrl) {
374
+ callbacks.onOpenWithURL(url, length, originalUrl);
375
+ });
376
+ }
381
377
 
382
- var ChromeExternalServices = Object.create(_app.DefaultExternalServices);
383
- ChromeExternalServices.initPassiveLoading = function (callbacks) {
384
- var overlayManager = _app.PDFViewerApplication.overlayManager;
378
+ static createDownloadManager(options) {
379
+ return new _download_manager.DownloadManager(options);
380
+ }
385
381
 
386
- ChromeCom.resolvePDFFile(_app_options.AppOptions.get('defaultUrl'), overlayManager, function (url, length, originalUrl) {
387
- callbacks.onOpenWithURL(url, length, originalUrl);
388
- });
389
- };
390
- ChromeExternalServices.createDownloadManager = function (options) {
391
- return new _download_manager.DownloadManager(options);
392
- };
393
- ChromeExternalServices.createPreferences = function () {
394
- return new ChromePreferences();
395
- };
396
- ChromeExternalServices.createL10n = function (options) {
397
- return new _genericl10n.GenericL10n(navigator.language);
398
- };
399
- _app.PDFViewerApplication.externalServices = ChromeExternalServices;
400
- exports.ChromeCom = ChromeCom;
382
+ static createPreferences() {
383
+ return new ChromePreferences();
384
+ }
385
+
386
+ static createL10n(options) {
387
+ return new _genericl10n.GenericL10n(navigator.language);
388
+ }
389
+
390
+ }
391
+
392
+ _app.PDFViewerApplication.externalServices = ChromeExternalServices;