pdfjs-dist 2.0.943 → 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 (159) hide show
  1. package/bower.json +1 -1
  2. package/build/pdf.js +15329 -11095
  3. package/build/pdf.js.map +1 -1
  4. package/build/pdf.min.js +1 -1
  5. package/build/pdf.worker.js +12497 -4184
  6. package/build/pdf.worker.js.map +1 -1
  7. package/build/pdf.worker.min.js +1 -1
  8. package/image_decoders/pdf.image_decoders.js +3438 -1209
  9. package/image_decoders/pdf.image_decoders.js.map +1 -1
  10. package/image_decoders/pdf.image_decoders.min.js +1 -1
  11. package/lib/core/annotation.js +335 -109
  12. package/lib/core/arithmetic_decoder.js +274 -244
  13. package/lib/core/bidi.js +64 -5
  14. package/lib/core/ccitt.js +172 -17
  15. package/lib/core/ccitt_stream.js +14 -5
  16. package/lib/core/cff_parser.js +304 -28
  17. package/lib/core/charsets.js +4 -3
  18. package/lib/core/chunked_stream.js +379 -149
  19. package/lib/core/cmap.js +210 -40
  20. package/lib/core/colorspace.js +332 -187
  21. package/lib/core/crypto.js +289 -44
  22. package/lib/core/document.js +508 -249
  23. package/lib/core/encodings.js +18 -9
  24. package/lib/core/evaluator.js +657 -119
  25. package/lib/core/font_renderer.js +217 -34
  26. package/lib/core/fonts.js +632 -41
  27. package/lib/core/function.js +252 -26
  28. package/lib/core/glyphlist.js +2 -1
  29. package/lib/core/image.js +124 -27
  30. package/lib/core/jbig2.js +425 -65
  31. package/lib/core/jbig2_stream.js +18 -7
  32. package/lib/core/jpeg_stream.js +24 -8
  33. package/lib/core/jpg.js +208 -16
  34. package/lib/core/jpx.js +395 -5
  35. package/lib/core/jpx_stream.js +17 -5
  36. package/lib/core/metrics.js +3 -3
  37. package/lib/core/murmurhash3.js +23 -5
  38. package/lib/core/obj.js +625 -132
  39. package/lib/core/operator_list.js +104 -3
  40. package/lib/core/parser.js +262 -25
  41. package/lib/core/pattern.js +144 -12
  42. package/lib/core/pdf_manager.js +104 -70
  43. package/lib/core/primitives.js +74 -21
  44. package/lib/core/ps_parser.js +133 -44
  45. package/lib/core/standard_fonts.js +9 -9
  46. package/lib/core/stream.js +283 -31
  47. package/lib/core/type1_parser.js +138 -6
  48. package/lib/core/unicode.js +28 -1
  49. package/lib/core/worker.js +192 -57
  50. package/lib/display/annotation_layer.js +303 -123
  51. package/lib/display/api.js +1073 -574
  52. package/lib/display/api_compatibility.js +4 -1
  53. package/lib/display/canvas.js +314 -18
  54. package/lib/display/content_disposition.js +70 -23
  55. package/lib/display/dom_utils.js +112 -59
  56. package/lib/display/fetch_stream.js +95 -50
  57. package/lib/display/font_loader.js +250 -132
  58. package/lib/display/metadata.js +37 -15
  59. package/lib/display/network.js +123 -34
  60. package/lib/display/network_utils.js +23 -10
  61. package/lib/display/node_stream.js +162 -65
  62. package/lib/display/pattern_helper.js +57 -6
  63. package/lib/display/svg.js +194 -18
  64. package/lib/display/text_layer.js +128 -14
  65. package/lib/display/transport_stream.js +83 -27
  66. package/lib/display/webgl.js +63 -17
  67. package/lib/display/worker_options.js +4 -3
  68. package/lib/display/xml_parser.js +162 -52
  69. package/lib/examples/node/domstubs.js +56 -3
  70. package/lib/pdf.js +15 -2
  71. package/lib/pdf.worker.js +4 -2
  72. package/lib/shared/compatibility.js +129 -26
  73. package/lib/shared/global_scope.js +1 -1
  74. package/lib/shared/is_node.js +3 -3
  75. package/lib/shared/message_handler.js +103 -45
  76. package/lib/shared/streams_polyfill.js +20 -16
  77. package/lib/shared/url_polyfill.js +8 -2
  78. package/lib/shared/util.js +246 -84
  79. package/lib/test/unit/annotation_spec.js +99 -73
  80. package/lib/test/unit/api_spec.js +347 -113
  81. package/lib/test/unit/bidi_spec.js +6 -6
  82. package/lib/test/unit/cff_parser_spec.js +17 -5
  83. package/lib/test/unit/clitests_helper.js +7 -8
  84. package/lib/test/unit/cmap_spec.js +79 -25
  85. package/lib/test/unit/colorspace_spec.js +65 -18
  86. package/lib/test/unit/crypto_spec.js +16 -4
  87. package/lib/test/unit/custom_spec.js +40 -52
  88. package/lib/test/unit/display_svg_spec.js +32 -16
  89. package/lib/test/unit/document_spec.js +2 -2
  90. package/lib/test/unit/dom_utils_spec.js +8 -8
  91. package/lib/test/unit/encodings_spec.js +24 -44
  92. package/lib/test/unit/evaluator_spec.js +15 -8
  93. package/lib/test/unit/function_spec.js +16 -4
  94. package/lib/test/unit/jasmine-boot.js +29 -16
  95. package/lib/test/unit/message_handler_spec.js +19 -6
  96. package/lib/test/unit/metadata_spec.js +64 -11
  97. package/lib/test/unit/murmurhash3_spec.js +2 -2
  98. package/lib/test/unit/network_spec.js +19 -4
  99. package/lib/test/unit/network_utils_spec.js +6 -4
  100. package/lib/test/unit/node_stream_spec.js +50 -26
  101. package/lib/test/unit/parser_spec.js +13 -29
  102. package/lib/test/unit/pdf_find_controller_spec.js +144 -32
  103. package/lib/test/unit/pdf_find_utils_spec.js +10 -9
  104. package/lib/test/unit/pdf_history_spec.js +20 -8
  105. package/lib/test/unit/primitives_spec.js +23 -3
  106. package/lib/test/unit/stream_spec.js +8 -3
  107. package/lib/test/unit/test_utils.js +89 -26
  108. package/lib/test/unit/testreporter.js +19 -1
  109. package/lib/test/unit/type1_parser_spec.js +7 -5
  110. package/lib/test/unit/ui_utils_spec.js +162 -38
  111. package/lib/test/unit/unicode_spec.js +13 -10
  112. package/lib/test/unit/util_spec.js +89 -9
  113. package/lib/web/annotation_layer_builder.js +38 -21
  114. package/lib/web/app.js +610 -245
  115. package/lib/web/app_options.js +54 -34
  116. package/lib/web/base_viewer.js +359 -162
  117. package/lib/web/chromecom.js +159 -80
  118. package/lib/web/debugger.js +161 -17
  119. package/lib/web/download_manager.js +29 -11
  120. package/lib/web/firefox_print_service.js +16 -8
  121. package/lib/web/firefoxcom.js +127 -91
  122. package/lib/web/genericcom.js +50 -31
  123. package/lib/web/genericl10n.js +46 -34
  124. package/lib/web/grab_to_pan.js +25 -3
  125. package/lib/web/interfaces.js +108 -61
  126. package/lib/web/overlay_manager.js +67 -45
  127. package/lib/web/password_prompt.js +20 -12
  128. package/lib/web/pdf_attachment_viewer.js +37 -17
  129. package/lib/web/pdf_cursor_tools.js +38 -15
  130. package/lib/web/pdf_document_properties.js +65 -24
  131. package/lib/web/pdf_find_bar.js +48 -20
  132. package/lib/web/pdf_find_controller.js +290 -89
  133. package/lib/web/pdf_find_utils.js +19 -3
  134. package/lib/web/pdf_history.js +186 -49
  135. package/lib/web/pdf_link_service.js +127 -52
  136. package/lib/web/pdf_outline_viewer.js +71 -21
  137. package/lib/web/pdf_page_view.js +188 -63
  138. package/lib/web/pdf_presentation_mode.js +98 -33
  139. package/lib/web/pdf_print_service.js +54 -10
  140. package/lib/web/pdf_rendering_queue.js +26 -4
  141. package/lib/web/pdf_sidebar.js +116 -62
  142. package/lib/web/pdf_sidebar_resizer.js +41 -15
  143. package/lib/web/pdf_single_page_viewer.js +65 -68
  144. package/lib/web/pdf_thumbnail_view.js +102 -31
  145. package/lib/web/pdf_thumbnail_viewer.js +62 -22
  146. package/lib/web/pdf_viewer.component.js +111 -31
  147. package/lib/web/pdf_viewer.js +80 -60
  148. package/lib/web/preferences.js +61 -39
  149. package/lib/web/secondary_toolbar.js +101 -82
  150. package/lib/web/text_layer_builder.js +124 -69
  151. package/lib/web/toolbar.js +67 -27
  152. package/lib/web/ui_utils.js +284 -128
  153. package/lib/web/view_history.js +75 -51
  154. package/lib/web/viewer_compatibility.js +2 -1
  155. package/package.json +1 -1
  156. package/web/pdf_viewer.css +1 -1
  157. package/web/pdf_viewer.js +2200 -973
  158. package/web/pdf_viewer.js.map +1 -1
  159. package/lib/web/dom_events.js +0 -140
@@ -19,40 +19,50 @@
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 _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
30
30
 
31
- var _regenerator2 = _interopRequireDefault(_regenerator);
31
+ var _app = require("./app");
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 _app_options = require("./app_options");
34
34
 
35
- var _app = require('./app');
35
+ var _preferences = require("./preferences");
36
36
 
37
- var _app_options = require('./app_options');
37
+ var _download_manager = require("./download_manager");
38
38
 
39
- var _preferences = require('./preferences');
39
+ var _genericl10n = require("./genericl10n");
40
40
 
41
- var _download_manager = require('./download_manager');
41
+ var _pdf = require("../pdf");
42
42
 
43
- var _genericl10n = require('./genericl10n');
43
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
44
44
 
45
- var _pdf = require('../pdf');
45
+ 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); }
46
46
 
47
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
47
+ 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); } }
48
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"); }); }; }
49
+ 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); }); }; }
50
50
 
51
51
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
52
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; }
53
+ 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); } }
54
+
55
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
56
+
57
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
58
+
59
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
54
60
 
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; }
61
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
62
+
63
+ 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); }
64
+
65
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
56
66
 
57
67
  {
58
68
  throw new Error('Module "pdfjs-web/chromecom" shall not be used outside ' + 'CHROME build.');
@@ -63,8 +73,10 @@ var ChromeCom = {
63
73
  action: action,
64
74
  data: data
65
75
  };
76
+
66
77
  if (!chrome.runtime) {
67
78
  console.error('chrome.runtime is undefined.');
79
+
68
80
  if (callback) {
69
81
  callback();
70
82
  }
@@ -76,18 +88,22 @@ var ChromeCom = {
76
88
  },
77
89
  resolvePDFFile: function resolvePDFFile(file, overlayManager, callback) {
78
90
  file = file.replace(/^drive:/i, 'filesystem:' + location.origin + '/external/');
91
+
79
92
  if (/^https?:/.test(file)) {
80
93
  setReferer(file, function () {
81
94
  callback(file);
82
95
  });
83
96
  return;
84
97
  }
98
+
85
99
  if (/^file?:/.test(file)) {
86
100
  getEmbedderOrigin(function (origin) {
87
101
  if (origin && !/^file:|^chrome-extension:/.test(origin)) {
88
102
  _app.PDFViewerApplication.error('Blocked ' + origin + ' from loading ' + file + '. Refused to load a local file in a non-local page ' + 'for security reasons.');
103
+
89
104
  return;
90
105
  }
106
+
91
107
  isAllowedFileSchemeAccess(function (isAllowedAccess) {
92
108
  if (isAllowedAccess) {
93
109
  callback(file);
@@ -98,137 +114,166 @@ var ChromeCom = {
98
114
  });
99
115
  return;
100
116
  }
117
+
101
118
  callback(file);
102
119
  }
103
120
  };
121
+ exports.ChromeCom = ChromeCom;
122
+
104
123
  function getEmbedderOrigin(callback) {
105
124
  var origin = window === top ? location.origin : location.ancestorOrigins[0];
125
+
106
126
  if (origin === 'null') {
107
127
  getParentOrigin(callback);
108
128
  } else {
109
129
  callback(origin);
110
130
  }
111
131
  }
132
+
112
133
  function getParentOrigin(callback) {
113
134
  ChromeCom.request('getParentOrigin', null, callback);
114
135
  }
136
+
115
137
  function isAllowedFileSchemeAccess(callback) {
116
138
  ChromeCom.request('isAllowedFileSchemeAccess', null, callback);
117
139
  }
140
+
118
141
  function isRuntimeAvailable() {
119
142
  try {
120
143
  if (chrome.runtime && chrome.runtime.getManifest()) {
121
144
  return true;
122
145
  }
123
146
  } catch (e) {}
147
+
124
148
  return false;
125
149
  }
150
+
126
151
  function reloadIfRuntimeIsUnavailable() {
127
152
  if (!isRuntimeAvailable()) {
128
153
  location.reload();
129
154
  }
130
155
  }
131
- var chromeFileAccessOverlayPromise = void 0;
156
+
157
+ var chromeFileAccessOverlayPromise;
158
+
132
159
  function requestAccessToLocalFile(fileUrl, overlayManager, callback) {
133
160
  var onCloseOverlay = null;
161
+
134
162
  if (top !== window) {
135
163
  window.addEventListener('focus', reloadIfRuntimeIsUnavailable);
164
+
136
165
  onCloseOverlay = function onCloseOverlay() {
137
166
  window.removeEventListener('focus', reloadIfRuntimeIsUnavailable);
138
167
  reloadIfRuntimeIsUnavailable();
139
168
  overlayManager.close('chromeFileAccessOverlay');
140
169
  };
141
170
  }
171
+
142
172
  if (!chromeFileAccessOverlayPromise) {
143
173
  chromeFileAccessOverlayPromise = overlayManager.register('chromeFileAccessOverlay', document.getElementById('chromeFileAccessOverlay'), onCloseOverlay, true);
144
174
  }
175
+
145
176
  chromeFileAccessOverlayPromise.then(function () {
146
177
  var iconPath = chrome.runtime.getManifest().icons[48];
147
178
  document.getElementById('chrome-pdfjs-logo-bg').style.backgroundImage = 'url(' + chrome.runtime.getURL(iconPath) + ')';
148
179
  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',
180
+ "am": "\u1208\u134B\u12ED\u120D \u12E9\u12A0\u122D\u12A4\u120D\u12CE\u127D \u1218\u12F3\u1228\u123B \u134D\u1240\u12F5",
181
+ "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",
182
+ "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",
183
+ "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",
184
+ "ca": "Permet l'acc\xE9s als URL de fitxer",
185
+ "cs": "Umo\u017Enit p\u0159\xEDstup k adres\xE1m URL soubor\u016F",
186
+ "da": "Tillad adgang til webadresser p\xE5 filer",
156
187
  "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',
188
+ "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
189
  "en-GB": "Allow access to file URLs",
159
190
  "es": "Permitir acceso a URL de archivo",
160
191
  "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',
192
+ "et": "Luba juurdep\xE4\xE4s failide URL-idele",
193
+ "fa": "\u200F\u0627\u062C\u0627\u0632\u0647\u0654 \u062F\u0633\u062A\u0631\u0633\u06CC \u0628\u0647 URL \u0647\u0627\u06CC \u0641\u0627\u06CC\u0644",
194
+ "fi": "Salli tiedostojen URL-osoitteiden k\xE4ytt\xF6",
164
195
  "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',
196
+ "fr": "Autoriser l'acc\xE8s aux URL de fichier",
197
+ "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",
198
+ "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
199
  "hr": "Dozvoli pristup URL-ovima datoteke",
169
- "hu": 'F\xE1jl URL-ekhez val\xF3 hozz\xE1f\xE9r\xE9s enged\xE9lyez\xE9se',
200
+ "hu": "F\xE1jl URL-ekhez val\xF3 hozz\xE1f\xE9r\xE9s enged\xE9lyez\xE9se",
170
201
  "id": "Izinkan akses ke URL file",
171
202
  "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',
203
+ "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",
204
+ "ja": "\u30D5\u30A1\u30A4\u30EB\u306E URL \u3078\u306E\u30A2\u30AF\u30BB\u30B9\u3092\u8A31\u53EF\u3059\u308B",
205
+ "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",
206
+ "ko": "\uD30C\uC77C URL\uC5D0 \uB300\uD55C \uC561\uC138\uC2A4 \uD5C8\uC6A9",
176
207
  "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',
208
+ "lv": "At\u013Caut piek\u013Cuvi faila vietr\u0101\u017Eiem URL",
209
+ "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",
210
+ "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
211
  "ms": "Membenarkan akses ke URL fail",
181
212
  "nl": "Toegang tot bestand-URL's toestaan",
182
213
  "no": "Tillat tilgang til filnettadresser",
183
- "pl": 'Zezwalaj na dost\u0119p do adres\xF3w URL plik\xF3w',
214
+ "pl": "Zezwalaj na dost\u0119p do adres\xF3w URL plik\xF3w",
184
215
  "pt-BR": "Permitir acesso aos URLs do arquivo",
185
216
  "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',
217
+ "ro": "Permite accesul la adresele URL de fi\u0219iere",
218
+ "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",
219
+ "sk": "Povoli\u0165 pr\xEDstup k webov\xFDm adres\xE1m s\xFAboru",
189
220
  "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',
221
+ "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",
222
+ "sv": "Till\xE5t \xE5tkomst till webbadresser i filen",
192
223
  "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'
224
+ "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",
225
+ "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",
226
+ "th": "\u0E2D\u0E19\u0E38\u0E0D\u0E32\u0E15\u0E43\u0E2B\u0E49\u0E40\u0E02\u0E49\u0E32\u0E16\u0E36\u0E07\u0E44\u0E1F\u0E25\u0E4C URL",
227
+ "tr": "Dosya URL'lerine eri\u015Fime izin ver",
228
+ "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",
229
+ "vi": "Cho ph\xE9p truy c\u1EADp v\xE0o c\xE1c URL c\u1EE7a t\u1EC7p",
230
+ "zh-CN": "\u5141\u8BB8\u8BBF\u95EE\u6587\u4EF6\u7F51\u5740",
231
+ "zh-TW": "\u5141\u8A31\u5B58\u53D6\u6A94\u6848\u7DB2\u5740"
201
232
  }[chrome.i18n.getUILanguage && chrome.i18n.getUILanguage()];
233
+
202
234
  if (i18nFileAccessLabel) {
203
235
  document.getElementById('chrome-file-access-label').textContent = i18nFileAccessLabel;
204
236
  }
237
+
205
238
  var link = document.getElementById('chrome-link-to-extensions-page');
206
239
  link.href = 'chrome://extensions/?id=' + chrome.runtime.id;
240
+
207
241
  link.onclick = function (e) {
208
242
  e.preventDefault();
209
- ChromeCom.request('openExtensionsPageForFileAccess', { newTab: e.ctrlKey || e.metaKey || e.button === 1 || window !== top });
243
+ ChromeCom.request('openExtensionsPageForFileAccess', {
244
+ newTab: e.ctrlKey || e.metaKey || e.button === 1 || window !== top
245
+ });
210
246
  };
247
+
211
248
  document.getElementById('chrome-url-of-local-file').textContent = fileUrl;
249
+
212
250
  document.getElementById('chrome-file-fallback').onchange = function () {
213
251
  var file = this.files[0];
252
+
214
253
  if (file) {
215
254
  var originalFilename = decodeURIComponent(fileUrl.split('/').pop());
216
255
  var originalUrl = fileUrl;
256
+
217
257
  if (originalFilename !== file.name) {
218
258
  var msg = 'The selected file does not match the original file.' + '\nOriginal: ' + originalFilename + '\nSelected: ' + file.name + '\nDo you want to open the selected file?';
259
+
219
260
  if (!confirm(msg)) {
220
261
  this.value = '';
221
262
  return;
222
263
  }
264
+
223
265
  originalUrl = 'file:///fakepath/to/' + encodeURIComponent(file.name);
224
266
  }
267
+
225
268
  callback(_pdf.URL.createObjectURL(file), file.size, originalUrl);
226
269
  overlayManager.close('chromeFileAccessOverlay');
227
270
  }
228
271
  };
272
+
229
273
  overlayManager.open('chromeFileAccessOverlay');
230
274
  });
231
275
  }
276
+
232
277
  if (window === top) {
233
278
  addEventListener('unload', function () {
234
279
  if (!isRuntimeAvailable()) {
@@ -236,59 +281,73 @@ if (window === top) {
236
281
  }
237
282
  });
238
283
  }
239
- var port = void 0;
284
+
285
+ var port;
286
+
240
287
  function setReferer(url, callback) {
241
288
  if (!port) {
242
- port = chrome.runtime.connect({ name: 'chromecom-referrer' });
289
+ port = chrome.runtime.connect({
290
+ name: 'chromecom-referrer'
291
+ });
243
292
  }
293
+
244
294
  port.onDisconnect.addListener(onDisconnect);
245
295
  port.onMessage.addListener(onMessage);
246
296
  port.postMessage({
247
297
  referer: window.history.state && window.history.state.chromecomState,
248
298
  requestUrl: url
249
299
  });
300
+
250
301
  function onMessage(referer) {
251
302
  if (referer) {
252
303
  var state = window.history.state || {};
253
304
  state.chromecomState = referer;
254
305
  window.history.replaceState(state, '');
255
306
  }
307
+
256
308
  onCompleted();
257
309
  }
310
+
258
311
  function onDisconnect() {
259
312
  port = null;
260
313
  callback();
261
314
  }
315
+
262
316
  function onCompleted() {
263
317
  port.onDisconnect.removeListener(onDisconnect);
264
318
  port.onMessage.removeListener(onMessage);
265
319
  callback();
266
320
  }
267
321
  }
322
+
268
323
  var storageArea = chrome.storage.sync || chrome.storage.local;
269
324
 
270
- var ChromePreferences = function (_BasePreferences) {
325
+ var ChromePreferences =
326
+ /*#__PURE__*/
327
+ function (_BasePreferences) {
271
328
  _inherits(ChromePreferences, _BasePreferences);
272
329
 
273
330
  function ChromePreferences() {
274
331
  _classCallCheck(this, ChromePreferences);
275
332
 
276
- return _possibleConstructorReturn(this, (ChromePreferences.__proto__ || Object.getPrototypeOf(ChromePreferences)).apply(this, arguments));
333
+ return _possibleConstructorReturn(this, _getPrototypeOf(ChromePreferences).apply(this, arguments));
277
334
  }
278
335
 
279
336
  _createClass(ChromePreferences, [{
280
- key: '_writeToStorage',
337
+ key: "_writeToStorage",
281
338
  value: function () {
282
- var _ref = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee(prefObj) {
283
- var _this2 = this;
339
+ var _writeToStorage2 = _asyncToGenerator(
340
+ /*#__PURE__*/
341
+ _regenerator.default.mark(function _callee(prefObj) {
342
+ var _this = this;
284
343
 
285
- return _regenerator2.default.wrap(function _callee$(_context) {
344
+ return _regenerator.default.wrap(function _callee$(_context) {
286
345
  while (1) {
287
346
  switch (_context.prev = _context.next) {
288
347
  case 0:
289
- return _context.abrupt('return', new Promise(function (resolve) {
290
- if (prefObj === _this2.defaults) {
291
- var keysToRemove = Object.keys(_this2.defaults);
348
+ return _context.abrupt("return", new Promise(function (resolve) {
349
+ if (prefObj === _this.defaults) {
350
+ var keysToRemove = Object.keys(_this.defaults);
292
351
  storageArea.remove(keysToRemove, function () {
293
352
  resolve();
294
353
  });
@@ -300,7 +359,7 @@ var ChromePreferences = function (_BasePreferences) {
300
359
  }));
301
360
 
302
361
  case 1:
303
- case 'end':
362
+ case "end":
304
363
  return _context.stop();
305
364
  }
306
365
  }
@@ -308,42 +367,51 @@ var ChromePreferences = function (_BasePreferences) {
308
367
  }));
309
368
 
310
369
  function _writeToStorage(_x) {
311
- return _ref.apply(this, arguments);
370
+ return _writeToStorage2.apply(this, arguments);
312
371
  }
313
372
 
314
373
  return _writeToStorage;
315
374
  }()
316
375
  }, {
317
- key: '_readFromStorage',
376
+ key: "_readFromStorage",
318
377
  value: function () {
319
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regenerator2.default.mark(function _callee2(prefObj) {
320
- var _this3 = this;
378
+ var _readFromStorage2 = _asyncToGenerator(
379
+ /*#__PURE__*/
380
+ _regenerator.default.mark(function _callee2(prefObj) {
381
+ var _this2 = this;
321
382
 
322
- return _regenerator2.default.wrap(function _callee2$(_context2) {
383
+ return _regenerator.default.wrap(function _callee2$(_context2) {
323
384
  while (1) {
324
385
  switch (_context2.prev = _context2.next) {
325
386
  case 0:
326
- return _context2.abrupt('return', new Promise(function (resolve) {
387
+ return _context2.abrupt("return", new Promise(function (resolve) {
327
388
  var getPreferences = function getPreferences(defaultPrefs) {
328
389
  if (chrome.runtime.lastError) {
329
- defaultPrefs = _this3.defaults;
390
+ defaultPrefs = _this2.defaults;
330
391
  }
392
+
331
393
  storageArea.get(defaultPrefs, function (readPrefs) {
332
394
  resolve(readPrefs);
333
395
  });
334
396
  };
397
+
335
398
  if (chrome.storage.managed) {
336
399
  var defaultManagedPrefs = Object.assign({
337
400
  enableHandToolOnLoad: false,
338
401
  disableTextLayer: false,
339
- enhanceTextSelection: false
340
- }, _this3.defaults);
402
+ enhanceTextSelection: false,
403
+ showPreviousViewOnLoad: true,
404
+ disablePageMode: false
405
+ }, _this2.defaults);
341
406
  chrome.storage.managed.get(defaultManagedPrefs, function (items) {
342
407
  items = items || defaultManagedPrefs;
408
+
343
409
  if (items.enableHandToolOnLoad && !items.cursorToolOnLoad) {
344
410
  items.cursorToolOnLoad = 1;
345
411
  }
412
+
346
413
  delete items.enableHandToolOnLoad;
414
+
347
415
  if (items.textLayerMode !== 1) {
348
416
  if (items.disableTextLayer) {
349
417
  items.textLayerMode = 0;
@@ -351,17 +419,25 @@ var ChromePreferences = function (_BasePreferences) {
351
419
  items.textLayerMode = 2;
352
420
  }
353
421
  }
422
+
354
423
  delete items.disableTextLayer;
355
424
  delete items.enhanceTextSelection;
425
+
426
+ if (!items.showPreviousViewOnLoad && !items.viewOnLoad) {
427
+ items.viewOnLoad = 1;
428
+ }
429
+
430
+ delete items.showPreviousViewOnLoad;
431
+ delete items.disablePageMode;
356
432
  getPreferences(items);
357
433
  });
358
434
  } else {
359
- getPreferences(_this3.defaults);
435
+ getPreferences(_this2.defaults);
360
436
  }
361
437
  }));
362
438
 
363
439
  case 1:
364
- case 'end':
440
+ case "end":
365
441
  return _context2.stop();
366
442
  }
367
443
  }
@@ -369,7 +445,7 @@ var ChromePreferences = function (_BasePreferences) {
369
445
  }));
370
446
 
371
447
  function _readFromStorage(_x2) {
372
- return _ref2.apply(this, arguments);
448
+ return _readFromStorage2.apply(this, arguments);
373
449
  }
374
450
 
375
451
  return _readFromStorage;
@@ -380,21 +456,24 @@ var ChromePreferences = function (_BasePreferences) {
380
456
  }(_preferences.BasePreferences);
381
457
 
382
458
  var ChromeExternalServices = Object.create(_app.DefaultExternalServices);
459
+
383
460
  ChromeExternalServices.initPassiveLoading = function (callbacks) {
384
461
  var overlayManager = _app.PDFViewerApplication.overlayManager;
385
-
386
462
  ChromeCom.resolvePDFFile(_app_options.AppOptions.get('defaultUrl'), overlayManager, function (url, length, originalUrl) {
387
463
  callbacks.onOpenWithURL(url, length, originalUrl);
388
464
  });
389
465
  };
466
+
390
467
  ChromeExternalServices.createDownloadManager = function (options) {
391
468
  return new _download_manager.DownloadManager(options);
392
469
  };
470
+
393
471
  ChromeExternalServices.createPreferences = function () {
394
472
  return new ChromePreferences();
395
473
  };
474
+
396
475
  ChromeExternalServices.createL10n = function (options) {
397
476
  return new _genericl10n.GenericL10n(navigator.language);
398
477
  };
399
- _app.PDFViewerApplication.externalServices = ChromeExternalServices;
400
- exports.ChromeCom = ChromeCom;
478
+
479
+ _app.PDFViewerApplication.externalServices = ChromeExternalServices;