Browse Source

PDF.js version 1.8.252 - See mozilla/pdf.js@5fe26bb9da4fca7c9f8424734f99b353ba96ff39

master v1.8.252
pdfjsbot 8 years ago
parent
commit
c039c5001c
  1. 2
      bower.json
  2. 12
      build/pdf.combined.js
  3. 12
      build/pdf.js
  4. 4
      build/pdf.min.js
  5. 4
      build/pdf.worker.js
  6. 4
      lib/display/api.js
  7. 4
      lib/display/global.js
  8. 4
      lib/pdf.js
  9. 4
      lib/pdf.worker.js
  10. 94
      lib/web/app.js
  11. 62
      lib/web/chromecom.js
  12. 41
      lib/web/firefoxcom.js
  13. 44
      lib/web/genericcom.js
  14. 11
      lib/web/hand_tool.js
  15. 60
      lib/web/pdf_attachment_viewer.js
  16. 86
      lib/web/pdf_outline_viewer.js
  17. 184
      lib/web/pdf_sidebar.js
  18. 156
      lib/web/preferences.js
  19. 2
      package.json

2
bower.json

@ -1,6 +1,6 @@
{ {
"name": "pdfjs-dist", "name": "pdfjs-dist",
"version": "1.8.241", "version": "1.8.252",
"main": [ "main": [
"build/pdf.js", "build/pdf.js",
"build/pdf.worker.js" "build/pdf.worker.js"

12
build/pdf.combined.js

@ -12722,8 +12722,8 @@ var _UnsupportedManager = function UnsupportedManagerClosure() {
}(); }();
var version, build; var version, build;
{ {
exports.version = version = '1.8.241'; exports.version = version = '1.8.252';
exports.build = build = 'c44fd3d6'; exports.build = build = '5fe26bb9';
} }
exports.getDocument = getDocument; exports.getDocument = getDocument;
exports.PDFDataRangeTransport = PDFDataRangeTransport; exports.PDFDataRangeTransport = PDFDataRangeTransport;
@ -28016,8 +28016,8 @@ if (!_util.globalScope.PDFJS) {
} }
var PDFJS = _util.globalScope.PDFJS; var PDFJS = _util.globalScope.PDFJS;
{ {
PDFJS.version = '1.8.241'; PDFJS.version = '1.8.252';
PDFJS.build = 'c44fd3d6'; PDFJS.build = '5fe26bb9';
} }
PDFJS.pdfBug = false; PDFJS.pdfBug = false;
if (PDFJS.verbosity !== undefined) { if (PDFJS.verbosity !== undefined) {
@ -43534,8 +43534,8 @@ exports.TilingPattern = TilingPattern;
"use strict"; "use strict";
var pdfjsVersion = '1.8.241'; var pdfjsVersion = '1.8.252';
var pdfjsBuild = 'c44fd3d6'; var pdfjsBuild = '5fe26bb9';
var pdfjsSharedUtil = __w_pdfjs_require__(0); var pdfjsSharedUtil = __w_pdfjs_require__(0);
var pdfjsDisplayGlobal = __w_pdfjs_require__(26); var pdfjsDisplayGlobal = __w_pdfjs_require__(26);
var pdfjsDisplayAPI = __w_pdfjs_require__(10); var pdfjsDisplayAPI = __w_pdfjs_require__(10);

12
build/pdf.js

@ -3431,8 +3431,8 @@ var _UnsupportedManager = function UnsupportedManagerClosure() {
}(); }();
var version, build; var version, build;
{ {
exports.version = version = '1.8.241'; exports.version = version = '1.8.252';
exports.build = build = 'c44fd3d6'; exports.build = build = '5fe26bb9';
} }
exports.getDocument = getDocument; exports.getDocument = getDocument;
exports.PDFDataRangeTransport = PDFDataRangeTransport; exports.PDFDataRangeTransport = PDFDataRangeTransport;
@ -5399,8 +5399,8 @@ if (!_util.globalScope.PDFJS) {
} }
var PDFJS = _util.globalScope.PDFJS; var PDFJS = _util.globalScope.PDFJS;
{ {
PDFJS.version = '1.8.241'; PDFJS.version = '1.8.252';
PDFJS.build = 'c44fd3d6'; PDFJS.build = '5fe26bb9';
} }
PDFJS.pdfBug = false; PDFJS.pdfBug = false;
if (PDFJS.verbosity !== undefined) { if (PDFJS.verbosity !== undefined) {
@ -7889,8 +7889,8 @@ exports.TilingPattern = TilingPattern;
"use strict"; "use strict";
var pdfjsVersion = '1.8.241'; var pdfjsVersion = '1.8.252';
var pdfjsBuild = 'c44fd3d6'; var pdfjsBuild = '5fe26bb9';
var pdfjsSharedUtil = __w_pdfjs_require__(0); var pdfjsSharedUtil = __w_pdfjs_require__(0);
var pdfjsDisplayGlobal = __w_pdfjs_require__(9); var pdfjsDisplayGlobal = __w_pdfjs_require__(9);
var pdfjsDisplayAPI = __w_pdfjs_require__(3); var pdfjsDisplayAPI = __w_pdfjs_require__(3);

4
build/pdf.min.js vendored

File diff suppressed because one or more lines are too long

4
build/pdf.worker.js vendored

@ -36956,8 +36956,8 @@ exports.Type1Parser = Type1Parser;
"use strict"; "use strict";
var pdfjsVersion = '1.8.241'; var pdfjsVersion = '1.8.252';
var pdfjsBuild = 'c44fd3d6'; var pdfjsBuild = '5fe26bb9';
var pdfjsCoreWorker = __w_pdfjs_require__(8); var pdfjsCoreWorker = __w_pdfjs_require__(8);
{ {
__w_pdfjs_require__(19); __w_pdfjs_require__(19);

4
lib/display/api.js

@ -1362,8 +1362,8 @@ var _UnsupportedManager = function UnsupportedManagerClosure() {
}(); }();
var version, build; var version, build;
{ {
exports.version = version = '1.8.241'; exports.version = version = '1.8.252';
exports.build = build = 'c44fd3d6'; exports.build = build = '5fe26bb9';
} }
exports.getDocument = getDocument; exports.getDocument = getDocument;
exports.PDFDataRangeTransport = PDFDataRangeTransport; exports.PDFDataRangeTransport = PDFDataRangeTransport;

4
lib/display/global.js

@ -39,8 +39,8 @@ if (!_util.globalScope.PDFJS) {
} }
var PDFJS = _util.globalScope.PDFJS; var PDFJS = _util.globalScope.PDFJS;
{ {
PDFJS.version = '1.8.241'; PDFJS.version = '1.8.252';
PDFJS.build = 'c44fd3d6'; PDFJS.build = '5fe26bb9';
} }
PDFJS.pdfBug = false; PDFJS.pdfBug = false;
if (PDFJS.verbosity !== undefined) { if (PDFJS.verbosity !== undefined) {

4
lib/pdf.js

@ -14,8 +14,8 @@
*/ */
'use strict'; 'use strict';
var pdfjsVersion = '1.8.241'; var pdfjsVersion = '1.8.252';
var pdfjsBuild = 'c44fd3d6'; var pdfjsBuild = '5fe26bb9';
var pdfjsSharedUtil = require('./shared/util.js'); var pdfjsSharedUtil = require('./shared/util.js');
var pdfjsDisplayGlobal = require('./display/global.js'); var pdfjsDisplayGlobal = require('./display/global.js');
var pdfjsDisplayAPI = require('./display/api.js'); var pdfjsDisplayAPI = require('./display/api.js');

4
lib/pdf.worker.js vendored

@ -14,8 +14,8 @@
*/ */
'use strict'; 'use strict';
var pdfjsVersion = '1.8.241'; var pdfjsVersion = '1.8.252';
var pdfjsBuild = 'c44fd3d6'; var pdfjsBuild = '5fe26bb9';
var pdfjsCoreWorker = require('./core/worker.js'); var pdfjsCoreWorker = require('./core/worker.js');
{ {
require('./core/network.js'); require('./core/network.js');

94
lib/web/app.js

@ -55,8 +55,6 @@ var _pdf_presentation_mode = require('./pdf_presentation_mode');
var _pdf_thumbnail_viewer = require('./pdf_thumbnail_viewer'); var _pdf_thumbnail_viewer = require('./pdf_thumbnail_viewer');
var _preferences = require('./preferences');
var _secondary_toolbar = require('./secondary_toolbar'); var _secondary_toolbar = require('./secondary_toolbar');
var _toolbar = require('./toolbar'); var _toolbar = require('./toolbar');
@ -79,6 +77,10 @@ var DefaultExternalServices = {
createDownloadManager: function createDownloadManager() { createDownloadManager: function createDownloadManager() {
throw new Error('Not implemented: createDownloadManager'); throw new Error('Not implemented: createDownloadManager');
}, },
createPreferences: function createPreferences() {
throw new Error('Not implemented: createPreferences');
},
supportsIntegratedFind: false, supportsIntegratedFind: false,
supportsDocumentFonts: true, supportsDocumentFonts: true,
supportsDocumentColors: true, supportsDocumentColors: true,
@ -108,6 +110,7 @@ var PDFViewerApplication = {
pdfAttachmentViewer: null, pdfAttachmentViewer: null,
store: null, store: null,
downloadManager: null, downloadManager: null,
preferences: null,
toolbar: null, toolbar: null,
secondaryToolbar: null, secondaryToolbar: null,
eventBus: null, eventBus: null,
@ -129,79 +132,83 @@ var PDFViewerApplication = {
baseUrl: '', baseUrl: '',
externalServices: DefaultExternalServices, externalServices: DefaultExternalServices,
initialize: function pdfViewInitialize(appConfig) { initialize: function pdfViewInitialize(appConfig) {
var self = this; var _this = this;
_preferences.Preferences.initialize();
this.preferences = _preferences.Preferences; this.preferences = this.externalServices.createPreferences();
configure(_pdfjs.PDFJS); configure(_pdfjs.PDFJS);
this.appConfig = appConfig; this.appConfig = appConfig;
return this._readPreferences().then(function () { return this._readPreferences().then(function () {
return self._initializeViewerComponents(); return _this._initializeViewerComponents();
}).then(function () { }).then(function () {
self.bindEvents(); _this.bindEvents();
self.bindWindowEvents(); _this.bindWindowEvents();
_ui_utils.localized.then(function () { _ui_utils.localized.then(function () {
self.eventBus.dispatch('localized'); _this.eventBus.dispatch('localized');
}); });
if (self.isViewerEmbedded && !_pdfjs.PDFJS.isExternalLinkTargetSet()) { if (_this.isViewerEmbedded && !_pdfjs.PDFJS.isExternalLinkTargetSet()) {
_pdfjs.PDFJS.externalLinkTarget = _pdfjs.PDFJS.LinkTarget.TOP; _pdfjs.PDFJS.externalLinkTarget = _pdfjs.PDFJS.LinkTarget.TOP;
} }
self.initialized = true; _this.initialized = true;
}); });
}, },
_readPreferences: function _readPreferences() { _readPreferences: function _readPreferences() {
var self = this; var preferences = this.preferences,
return Promise.all([_preferences.Preferences.get('enableWebGL').then(function resolved(value) { viewerPrefs = this.viewerPrefs;
return Promise.all([preferences.get('enableWebGL').then(function resolved(value) {
_pdfjs.PDFJS.disableWebGL = !value; _pdfjs.PDFJS.disableWebGL = !value;
}), _preferences.Preferences.get('sidebarViewOnLoad').then(function resolved(value) { }), preferences.get('sidebarViewOnLoad').then(function resolved(value) {
self.viewerPrefs['sidebarViewOnLoad'] = value; viewerPrefs['sidebarViewOnLoad'] = value;
}), _preferences.Preferences.get('pdfBugEnabled').then(function resolved(value) { }), preferences.get('pdfBugEnabled').then(function resolved(value) {
self.viewerPrefs['pdfBugEnabled'] = value; viewerPrefs['pdfBugEnabled'] = value;
}), _preferences.Preferences.get('showPreviousViewOnLoad').then(function resolved(value) { }), preferences.get('showPreviousViewOnLoad').then(function resolved(value) {
self.viewerPrefs['showPreviousViewOnLoad'] = value; viewerPrefs['showPreviousViewOnLoad'] = value;
}), _preferences.Preferences.get('defaultZoomValue').then(function resolved(value) { }), preferences.get('defaultZoomValue').then(function resolved(value) {
self.viewerPrefs['defaultZoomValue'] = value; viewerPrefs['defaultZoomValue'] = value;
}), _preferences.Preferences.get('enhanceTextSelection').then(function resolved(value) { }), preferences.get('enhanceTextSelection').then(function resolved(value) {
self.viewerPrefs['enhanceTextSelection'] = value; viewerPrefs['enhanceTextSelection'] = value;
}), _preferences.Preferences.get('disableTextLayer').then(function resolved(value) { }), preferences.get('disableTextLayer').then(function resolved(value) {
if (_pdfjs.PDFJS.disableTextLayer === true) { if (_pdfjs.PDFJS.disableTextLayer === true) {
return; return;
} }
_pdfjs.PDFJS.disableTextLayer = value; _pdfjs.PDFJS.disableTextLayer = value;
}), _preferences.Preferences.get('disableRange').then(function resolved(value) { }), preferences.get('disableRange').then(function resolved(value) {
if (_pdfjs.PDFJS.disableRange === true) { if (_pdfjs.PDFJS.disableRange === true) {
return; return;
} }
_pdfjs.PDFJS.disableRange = value; _pdfjs.PDFJS.disableRange = value;
}), _preferences.Preferences.get('disableStream').then(function resolved(value) { }), preferences.get('disableStream').then(function resolved(value) {
if (_pdfjs.PDFJS.disableStream === true) { if (_pdfjs.PDFJS.disableStream === true) {
return; return;
} }
_pdfjs.PDFJS.disableStream = value; _pdfjs.PDFJS.disableStream = value;
}), _preferences.Preferences.get('disableAutoFetch').then(function resolved(value) { }), preferences.get('disableAutoFetch').then(function resolved(value) {
_pdfjs.PDFJS.disableAutoFetch = value; _pdfjs.PDFJS.disableAutoFetch = value;
}), _preferences.Preferences.get('disableFontFace').then(function resolved(value) { }), preferences.get('disableFontFace').then(function resolved(value) {
if (_pdfjs.PDFJS.disableFontFace === true) { if (_pdfjs.PDFJS.disableFontFace === true) {
return; return;
} }
_pdfjs.PDFJS.disableFontFace = value; _pdfjs.PDFJS.disableFontFace = value;
}), _preferences.Preferences.get('useOnlyCssZoom').then(function resolved(value) { }), preferences.get('useOnlyCssZoom').then(function resolved(value) {
_pdfjs.PDFJS.useOnlyCssZoom = value; _pdfjs.PDFJS.useOnlyCssZoom = value;
}), _preferences.Preferences.get('externalLinkTarget').then(function resolved(value) { }), preferences.get('externalLinkTarget').then(function resolved(value) {
if (_pdfjs.PDFJS.isExternalLinkTargetSet()) { if (_pdfjs.PDFJS.isExternalLinkTargetSet()) {
return; return;
} }
_pdfjs.PDFJS.externalLinkTarget = value; _pdfjs.PDFJS.externalLinkTarget = value;
}), _preferences.Preferences.get('renderer').then(function resolved(value) { }), preferences.get('renderer').then(function resolved(value) {
self.viewerPrefs['renderer'] = value; viewerPrefs['renderer'] = value;
}), _preferences.Preferences.get('renderInteractiveForms').then(function resolved(value) { }), preferences.get('renderInteractiveForms').then(function resolved(value) {
self.viewerPrefs['renderInteractiveForms'] = value; viewerPrefs['renderInteractiveForms'] = value;
}), _preferences.Preferences.get('disablePageLabels').then(function resolved(value) { }), preferences.get('disablePageLabels').then(function resolved(value) {
self.viewerPrefs['disablePageLabels'] = value; viewerPrefs['disablePageLabels'] = value;
}), _preferences.Preferences.get('enablePrintAutoRotate').then(function resolved(value) { }), preferences.get('enablePrintAutoRotate').then(function resolved(value) {
self.viewerPrefs['enablePrintAutoRotate'] = value; viewerPrefs['enablePrintAutoRotate'] = value;
})]).catch(function (reason) {}); })]).catch(function (reason) {});
}, },
_initializeViewerComponents: function _initializeViewerComponents() { _initializeViewerComponents: function _initializeViewerComponents() {
var _this2 = this;
var self = this; var self = this;
var appConfig = this.appConfig; var appConfig = this.appConfig;
return new Promise(function (resolve, reject) { return new Promise(function (resolve, reject) {
@ -267,7 +274,8 @@ var PDFViewerApplication = {
self.overlayManager = _overlay_manager.OverlayManager; self.overlayManager = _overlay_manager.OverlayManager;
self.handTool = new _hand_tool.HandTool({ self.handTool = new _hand_tool.HandTool({
container: container, container: container,
eventBus: eventBus eventBus: eventBus,
preferences: _this2.preferences
}); });
self.pdfDocumentProperties = new _pdf_document_properties.PDFDocumentProperties(appConfig.documentProperties); self.pdfDocumentProperties = new _pdf_document_properties.PDFDocumentProperties(appConfig.documentProperties);
self.toolbar = new _toolbar.Toolbar(appConfig.toolbar, container, eventBus); self.toolbar = new _toolbar.Toolbar(appConfig.toolbar, container, eventBus);
@ -417,14 +425,16 @@ var PDFViewerApplication = {
return promise; return promise;
}, },
open: function pdfViewOpen(file, args) { open: function pdfViewOpen(file, args) {
var _this3 = this;
if (arguments.length > 2 || typeof args === 'number') { if (arguments.length > 2 || typeof args === 'number') {
return Promise.reject(new Error('Call of open() with obsolete signature.')); return Promise.reject(new Error('Call of open() with obsolete signature.'));
} }
if (this.pdfLoadingTask) { if (this.pdfLoadingTask) {
return this.close().then(function () { return this.close().then(function () {
_preferences.Preferences.reload(); _this3.preferences.reload();
return this.open(file, args); return _this3.open(file, args);
}.bind(this)); });
} }
var parameters = Object.create(null), var parameters = Object.create(null),
scale; scale;

62
lib/web/chromecom.js

@ -19,15 +19,23 @@ Object.defineProperty(exports, "__esModule", {
}); });
exports.ChromeCom = undefined; exports.ChromeCom = undefined;
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; }; }();
var _app = require('./app'); var _app = require('./app');
var _preferences = require('./preferences');
var _download_manager = require('./download_manager'); var _download_manager = require('./download_manager');
var _overlay_manager = require('./overlay_manager'); var _overlay_manager = require('./overlay_manager');
var _pdfjs = require('./pdfjs'); var _pdfjs = require('./pdfjs');
var _preferences = require('./preferences'); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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; }
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; }
{ {
throw new Error('Module "pdfjs-web/chromecom" shall not be used outside ' + 'CHROME build.'); throw new Error('Module "pdfjs-web/chromecom" shall not be used outside ' + 'CHROME build.');
@ -236,10 +244,24 @@ function setReferer(url, callback) {
} }
} }
var storageArea = chrome.storage.sync || chrome.storage.local; var storageArea = chrome.storage.sync || chrome.storage.local;
_preferences.Preferences._writeToStorage = function (prefObj) {
var ChromePreferences = function (_BasePreferences) {
_inherits(ChromePreferences, _BasePreferences);
function ChromePreferences() {
_classCallCheck(this, ChromePreferences);
return _possibleConstructorReturn(this, (ChromePreferences.__proto__ || Object.getPrototypeOf(ChromePreferences)).apply(this, arguments));
}
_createClass(ChromePreferences, [{
key: '_writeToStorage',
value: function _writeToStorage(prefObj) {
var _this2 = this;
return new Promise(function (resolve) { return new Promise(function (resolve) {
if (prefObj === _preferences.Preferences.defaults) { if (prefObj === _this2.defaults) {
var keysToRemove = Object.keys(_preferences.Preferences.defaults); var keysToRemove = Object.keys(_this2.defaults);
storageArea.remove(keysToRemove, function () { storageArea.remove(keysToRemove, function () {
resolve(); resolve();
}); });
@ -249,24 +271,33 @@ _preferences.Preferences._writeToStorage = function (prefObj) {
}); });
} }
}); });
};
_preferences.Preferences._readFromStorage = function (prefObj) {
return new Promise(function (resolve) {
if (chrome.storage.managed) {
chrome.storage.managed.get(_preferences.Preferences.defaults, getPreferences);
} else {
getPreferences(_preferences.Preferences.defaults);
} }
function getPreferences(defaultPrefs) { }, {
key: '_readFromStorage',
value: function _readFromStorage(prefObj) {
var _this3 = this;
return new Promise(function (resolve) {
var getPreferences = function getPreferences(defaultPrefs) {
if (chrome.runtime.lastError) { if (chrome.runtime.lastError) {
defaultPrefs = _preferences.Preferences.defaults; defaultPrefs = _this3.defaults;
} }
storageArea.get(defaultPrefs, function (readPrefs) { storageArea.get(defaultPrefs, function (readPrefs) {
resolve(readPrefs); resolve(readPrefs);
}); });
};
if (chrome.storage.managed) {
chrome.storage.managed.get(_this3.defaults, getPreferences);
} else {
getPreferences(_this3.defaults);
} }
}); });
}; }
}]);
return ChromePreferences;
}(_preferences.BasePreferences);
var ChromeExternalServices = Object.create(_app.DefaultExternalServices); var ChromeExternalServices = Object.create(_app.DefaultExternalServices);
ChromeExternalServices.initPassiveLoading = function (callbacks) { ChromeExternalServices.initPassiveLoading = function (callbacks) {
var appConfig = _app.PDFViewerApplication.appConfig; var appConfig = _app.PDFViewerApplication.appConfig;
@ -277,5 +308,8 @@ ChromeExternalServices.initPassiveLoading = function (callbacks) {
ChromeExternalServices.createDownloadManager = function () { ChromeExternalServices.createDownloadManager = function () {
return new _download_manager.DownloadManager(); return new _download_manager.DownloadManager();
}; };
ChromeExternalServices.createPreferences = function () {
return new ChromePreferences();
};
_app.PDFViewerApplication.externalServices = ChromeExternalServices; _app.PDFViewerApplication.externalServices = ChromeExternalServices;
exports.ChromeCom = ChromeCom; exports.ChromeCom = ChromeCom;

41
lib/web/firefoxcom.js

@ -21,11 +21,19 @@ exports.FirefoxCom = exports.DownloadManager = undefined;
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; }; 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; };
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; }; }();
var _pdfjs = require('./pdfjs'); var _pdfjs = require('./pdfjs');
var _preferences = require('./preferences');
var _app = require('./app'); var _app = require('./app');
var _preferences = require('./preferences'); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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; }
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; }
{ {
throw new Error('Module "pdfjs-web/firefoxcom" shall not be used outside ' + 'FIREFOX and MOZCENTRAL builds.'); throw new Error('Module "pdfjs-web/firefoxcom" shall not be used outside ' + 'FIREFOX and MOZCENTRAL builds.');
@ -103,19 +111,38 @@ var DownloadManager = function DownloadManagerClosure() {
}; };
return DownloadManager; return DownloadManager;
}(); }();
_preferences.Preferences._writeToStorage = function (prefObj) {
var FirefoxPreferences = function (_BasePreferences) {
_inherits(FirefoxPreferences, _BasePreferences);
function FirefoxPreferences() {
_classCallCheck(this, FirefoxPreferences);
return _possibleConstructorReturn(this, (FirefoxPreferences.__proto__ || Object.getPrototypeOf(FirefoxPreferences)).apply(this, arguments));
}
_createClass(FirefoxPreferences, [{
key: '_writeToStorage',
value: function _writeToStorage(prefObj) {
return new Promise(function (resolve) { return new Promise(function (resolve) {
FirefoxCom.request('setPreferences', prefObj, resolve); FirefoxCom.request('setPreferences', prefObj, resolve);
}); });
}; }
_preferences.Preferences._readFromStorage = function (prefObj) { }, {
key: '_readFromStorage',
value: function _readFromStorage(prefObj) {
return new Promise(function (resolve) { return new Promise(function (resolve) {
FirefoxCom.request('getPreferences', prefObj, function (prefStr) { FirefoxCom.request('getPreferences', prefObj, function (prefStr) {
var readPrefs = JSON.parse(prefStr); var readPrefs = JSON.parse(prefStr);
resolve(readPrefs); resolve(readPrefs);
}); });
}); });
}; }
}]);
return FirefoxPreferences;
}(_preferences.BasePreferences);
(function listenFindEvents() { (function listenFindEvents() {
var events = ['find', 'findagain', 'findhighlightallchange', 'findcasesensitivitychange']; var events = ['find', 'findagain', 'findhighlightallchange', 'findcasesensitivitychange'];
var handleEvent = function handleEvent(evt) { var handleEvent = function handleEvent(evt) {
@ -201,6 +228,10 @@ _app.PDFViewerApplication.externalServices = {
createDownloadManager: function createDownloadManager() { createDownloadManager: function createDownloadManager() {
return new DownloadManager(); return new DownloadManager();
}, },
createPreferences: function createPreferences() {
return new FirefoxPreferences();
},
get supportsIntegratedFind() { get supportsIntegratedFind() {
var support = FirefoxCom.requestSync('supportsIntegratedFind'); var support = FirefoxCom.requestSync('supportsIntegratedFind');
return (0, _pdfjs.shadow)(this, 'supportsIntegratedFind', support); return (0, _pdfjs.shadow)(this, 'supportsIntegratedFind', support);

44
lib/web/genericcom.js

@ -19,15 +19,59 @@ Object.defineProperty(exports, "__esModule", {
}); });
exports.GenericCom = undefined; exports.GenericCom = undefined;
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; }; }();
var _app = require('./app'); var _app = require('./app');
var _preferences = require('./preferences');
var _download_manager = require('./download_manager'); var _download_manager = require('./download_manager');
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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; }
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; }
; ;
var GenericCom = {}; var GenericCom = {};
var GenericPreferences = function (_BasePreferences) {
_inherits(GenericPreferences, _BasePreferences);
function GenericPreferences() {
_classCallCheck(this, GenericPreferences);
return _possibleConstructorReturn(this, (GenericPreferences.__proto__ || Object.getPrototypeOf(GenericPreferences)).apply(this, arguments));
}
_createClass(GenericPreferences, [{
key: '_writeToStorage',
value: function _writeToStorage(prefObj) {
return new Promise(function (resolve) {
localStorage.setItem('pdfjs.preferences', JSON.stringify(prefObj));
resolve();
});
}
}, {
key: '_readFromStorage',
value: function _readFromStorage(prefObj) {
return new Promise(function (resolve) {
var readPrefs = JSON.parse(localStorage.getItem('pdfjs.preferences'));
resolve(readPrefs);
});
}
}]);
return GenericPreferences;
}(_preferences.BasePreferences);
var GenericExternalServices = Object.create(_app.DefaultExternalServices); var GenericExternalServices = Object.create(_app.DefaultExternalServices);
GenericExternalServices.createDownloadManager = function () { GenericExternalServices.createDownloadManager = function () {
return new _download_manager.DownloadManager(); return new _download_manager.DownloadManager();
}; };
GenericExternalServices.createPreferences = function () {
return new GenericPreferences();
};
_app.PDFViewerApplication.externalServices = GenericExternalServices; _app.PDFViewerApplication.externalServices = GenericExternalServices;
exports.GenericCom = GenericCom; exports.GenericCom = GenericCom;

11
lib/web/hand_tool.js

@ -23,12 +23,13 @@ var _grab_to_pan = require('./grab_to_pan');
var _ui_utils = require('./ui_utils'); var _ui_utils = require('./ui_utils');
var _preferences = require('./preferences');
var HandTool = function HandToolClosure() { var HandTool = function HandToolClosure() {
function HandTool(options) { function HandTool(options) {
var _this = this;
this.container = options.container; this.container = options.container;
this.eventBus = options.eventBus; this.eventBus = options.eventBus;
var preferences = options.preferences;
this.wasActive = false; this.wasActive = false;
this.handTool = new _grab_to_pan.GrabToPan({ this.handTool = new _grab_to_pan.GrabToPan({
element: this.container, element: this.container,
@ -37,11 +38,11 @@ var HandTool = function HandToolClosure() {
}.bind(this) }.bind(this)
}); });
this.eventBus.on('togglehandtool', this.toggle.bind(this)); this.eventBus.on('togglehandtool', this.toggle.bind(this));
Promise.all([_ui_utils.localized, _preferences.Preferences.get('enableHandToolOnLoad')]).then(function resolved(values) { Promise.all([_ui_utils.localized, preferences.get('enableHandToolOnLoad')]).then(function (values) {
if (values[1] === true) { if (values[1] === true) {
this.handTool.activate(); _this.handTool.activate();
} }
}.bind(this)).catch(function rejected(reason) {}); }).catch(function rejected(reason) {});
this.eventBus.on('presentationmodechanged', function (e) { this.eventBus.on('presentationmodechanged', function (e) {
if (e.switchInProgress) { if (e.switchInProgress) {
return; return;

60
lib/web/pdf_attachment_viewer.js

@ -19,10 +19,16 @@ Object.defineProperty(exports, "__esModule", {
}); });
exports.PDFAttachmentViewer = undefined; exports.PDFAttachmentViewer = undefined;
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; }; }();
var _pdfjs = require('./pdfjs'); var _pdfjs = require('./pdfjs');
var PDFAttachmentViewer = function PDFAttachmentViewerClosure() { function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var PDFAttachmentViewer = function () {
function PDFAttachmentViewer(options) { function PDFAttachmentViewer(options) {
_classCallCheck(this, PDFAttachmentViewer);
this.attachments = null; this.attachments = null;
this.container = options.container; this.container = options.container;
this.eventBus = options.eventBus; this.eventBus = options.eventBus;
@ -30,22 +36,30 @@ var PDFAttachmentViewer = function PDFAttachmentViewerClosure() {
this._renderedCapability = (0, _pdfjs.createPromiseCapability)(); this._renderedCapability = (0, _pdfjs.createPromiseCapability)();
this.eventBus.on('fileattachmentannotation', this._appendAttachment.bind(this)); this.eventBus.on('fileattachmentannotation', this._appendAttachment.bind(this));
} }
PDFAttachmentViewer.prototype = {
reset: function PDFAttachmentViewer_reset(keepRenderedCapability) { _createClass(PDFAttachmentViewer, [{
key: 'reset',
value: function reset() {
var keepRenderedCapability = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
this.attachments = null; this.attachments = null;
this.container.textContent = ''; this.container.textContent = '';
if (!keepRenderedCapability) { if (!keepRenderedCapability) {
this._renderedCapability = (0, _pdfjs.createPromiseCapability)(); this._renderedCapability = (0, _pdfjs.createPromiseCapability)();
} }
}, }
_dispatchEvent: function PDFAttachmentViewer_dispatchEvent(attachmentsCount) { }, {
key: '_dispatchEvent',
value: function _dispatchEvent(attachmentsCount) {
this.eventBus.dispatch('attachmentsloaded', { this.eventBus.dispatch('attachmentsloaded', {
source: this, source: this,
attachmentsCount: attachmentsCount attachmentsCount: attachmentsCount
}); });
this._renderedCapability.resolve(); this._renderedCapability.resolve();
}, }
_bindPdfLink: function _bindPdfLink(button, content, filename) { }, {
key: '_bindPdfLink',
value: function _bindPdfLink(button, content, filename) {
if (_pdfjs.PDFJS.disableCreateObjectURL) { if (_pdfjs.PDFJS.disableCreateObjectURL) {
throw new Error('bindPdfLink: ' + 'Unsupported "PDFJS.disableCreateObjectURL" value.'); throw new Error('bindPdfLink: ' + 'Unsupported "PDFJS.disableCreateObjectURL" value.');
} }
@ -59,16 +73,22 @@ var PDFAttachmentViewer = function PDFAttachmentViewerClosure() {
window.open(viewerUrl); window.open(viewerUrl);
return false; return false;
}; };
}, }
}, {
key: '_bindLink',
value: function _bindLink(button, content, filename) {
var _this = this;
_bindLink: function PDFAttachmentViewer_bindLink(button, content, filename) { button.onclick = function () {
button.onclick = function downloadFile(e) { _this.downloadManager.downloadData(content, filename, '');
this.downloadManager.downloadData(content, filename, '');
return false; return false;
}.bind(this); };
}, }
render: function PDFAttachmentViewer_render(params) { }, {
params = params || {}; key: 'render',
value: function render() {
var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var attachments = params.attachments || null; var attachments = params.attachments || null;
var attachmentsCount = 0; var attachmentsCount = 0;
if (this.attachments) { if (this.attachments) {
@ -100,8 +120,10 @@ var PDFAttachmentViewer = function PDFAttachmentViewerClosure() {
this.container.appendChild(div); this.container.appendChild(div);
} }
this._dispatchEvent(attachmentsCount); this._dispatchEvent(attachmentsCount);
}, }
_appendAttachment: function PDFAttachmentViewer_appendAttachment(item) { }, {
key: '_appendAttachment',
value: function _appendAttachment(item) {
this._renderedCapability.promise.then(function (id, filename, content) { this._renderedCapability.promise.then(function (id, filename, content) {
var attachments = this.attachments; var attachments = this.attachments;
if (!attachments) { if (!attachments) {
@ -123,7 +145,9 @@ var PDFAttachmentViewer = function PDFAttachmentViewerClosure() {
}); });
}.bind(this, item.id, item.filename, item.content)); }.bind(this, item.id, item.filename, item.content));
} }
}; }]);
return PDFAttachmentViewer; return PDFAttachmentViewer;
}(); }();
exports.PDFAttachmentViewer = PDFAttachmentViewer; exports.PDFAttachmentViewer = PDFAttachmentViewer;

86
lib/web/pdf_outline_viewer.js

@ -19,31 +19,46 @@ Object.defineProperty(exports, "__esModule", {
}); });
exports.PDFOutlineViewer = undefined; exports.PDFOutlineViewer = undefined;
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; }; }();
var _pdfjs = require('./pdfjs'); var _pdfjs = require('./pdfjs');
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var DEFAULT_TITLE = '\u2013'; var DEFAULT_TITLE = '\u2013';
var PDFOutlineViewer = function PDFOutlineViewerClosure() {
var PDFOutlineViewer = function () {
function PDFOutlineViewer(options) { function PDFOutlineViewer(options) {
_classCallCheck(this, PDFOutlineViewer);
this.outline = null; this.outline = null;
this.lastToggleIsShow = true; this.lastToggleIsShow = true;
this.container = options.container; this.container = options.container;
this.linkService = options.linkService; this.linkService = options.linkService;
this.eventBus = options.eventBus; this.eventBus = options.eventBus;
} }
PDFOutlineViewer.prototype = {
reset: function PDFOutlineViewer_reset() { _createClass(PDFOutlineViewer, [{
key: 'reset',
value: function reset() {
this.outline = null; this.outline = null;
this.lastToggleIsShow = true; this.lastToggleIsShow = true;
this.container.textContent = ''; this.container.textContent = '';
this.container.classList.remove('outlineWithDeepNesting'); this.container.classList.remove('outlineWithDeepNesting');
}, }
_dispatchEvent: function PDFOutlineViewer_dispatchEvent(outlineCount) { }, {
key: '_dispatchEvent',
value: function _dispatchEvent(outlineCount) {
this.eventBus.dispatch('outlineloaded', { this.eventBus.dispatch('outlineloaded', {
source: this, source: this,
outlineCount: outlineCount outlineCount: outlineCount
}); });
}, }
_bindLink: function PDFOutlineViewer_bindLink(element, item) { }, {
key: '_bindLink',
value: function _bindLink(element, item) {
var _this = this;
if (item.url) { if (item.url) {
(0, _pdfjs.addLinkAttributes)(element, { (0, _pdfjs.addLinkAttributes)(element, {
url: item.url, url: item.url,
@ -51,17 +66,18 @@ var PDFOutlineViewer = function PDFOutlineViewerClosure() {
}); });
return; return;
} }
var self = this, var destination = item.dest;
destination = item.dest; element.href = this.linkService.getDestinationHash(destination);
element.href = self.linkService.getDestinationHash(destination);
element.onclick = function () { element.onclick = function () {
if (destination) { if (destination) {
self.linkService.navigateTo(destination); _this.linkService.navigateTo(destination);
} }
return false; return false;
}; };
}, }
_setStyles: function PDFOutlineViewer_setStyles(element, item) { }, {
key: '_setStyles',
value: function _setStyles(element, item) {
var styleStr = ''; var styleStr = '';
if (item.bold) { if (item.bold) {
styleStr += 'font-weight: bold;'; styleStr += 'font-weight: bold;';
@ -72,35 +88,47 @@ var PDFOutlineViewer = function PDFOutlineViewerClosure() {
if (styleStr) { if (styleStr) {
element.setAttribute('style', styleStr); element.setAttribute('style', styleStr);
} }
}, }
_addToggleButton: function PDFOutlineViewer_addToggleButton(div) { }, {
key: '_addToggleButton',
value: function _addToggleButton(div) {
var _this2 = this;
var toggler = document.createElement('div'); var toggler = document.createElement('div');
toggler.className = 'outlineItemToggler'; toggler.className = 'outlineItemToggler';
toggler.onclick = function (event) { toggler.onclick = function (evt) {
event.stopPropagation(); evt.stopPropagation();
toggler.classList.toggle('outlineItemsHidden'); toggler.classList.toggle('outlineItemsHidden');
if (event.shiftKey) { if (evt.shiftKey) {
var shouldShowAll = !toggler.classList.contains('outlineItemsHidden'); var shouldShowAll = !toggler.classList.contains('outlineItemsHidden');
this._toggleOutlineItem(div, shouldShowAll); _this2._toggleOutlineItem(div, shouldShowAll);
} }
}.bind(this); };
div.insertBefore(toggler, div.firstChild); div.insertBefore(toggler, div.firstChild);
}, }
_toggleOutlineItem: function PDFOutlineViewer_toggleOutlineItem(root, show) { }, {
key: '_toggleOutlineItem',
value: function _toggleOutlineItem(root, show) {
this.lastToggleIsShow = show; this.lastToggleIsShow = show;
var togglers = root.querySelectorAll('.outlineItemToggler'); var togglers = root.querySelectorAll('.outlineItemToggler');
for (var i = 0, ii = togglers.length; i < ii; ++i) { for (var i = 0, ii = togglers.length; i < ii; ++i) {
togglers[i].classList[show ? 'remove' : 'add']('outlineItemsHidden'); togglers[i].classList[show ? 'remove' : 'add']('outlineItemsHidden');
} }
}, }
toggleOutlineTree: function PDFOutlineViewer_toggleOutlineTree() { }, {
key: 'toggleOutlineTree',
value: function toggleOutlineTree() {
if (!this.outline) { if (!this.outline) {
return; return;
} }
this._toggleOutlineItem(this.container, !this.lastToggleIsShow); this._toggleOutlineItem(this.container, !this.lastToggleIsShow);
}, }
render: function PDFOutlineViewer_render(params) { }, {
var outline = params && params.outline || null; key: 'render',
value: function render() {
var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var outline = params.outline || null;
var outlineCount = 0; var outlineCount = 0;
if (this.outline) { if (this.outline) {
this.reset(); this.reset();
@ -148,7 +176,9 @@ var PDFOutlineViewer = function PDFOutlineViewerClosure() {
this.container.appendChild(fragment); this.container.appendChild(fragment);
this._dispatchEvent(outlineCount); this._dispatchEvent(outlineCount);
} }
}; }]);
return PDFOutlineViewer; return PDFOutlineViewer;
}(); }();
exports.PDFOutlineViewer = PDFOutlineViewer; exports.PDFOutlineViewer = PDFOutlineViewer;

184
lib/web/pdf_sidebar.js

@ -19,10 +19,14 @@ Object.defineProperty(exports, "__esModule", {
}); });
exports.PDFSidebar = exports.SidebarView = undefined; exports.PDFSidebar = exports.SidebarView = undefined;
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; }; }();
var _ui_utils = require('./ui_utils'); var _ui_utils = require('./ui_utils');
var _pdf_rendering_queue = require('./pdf_rendering_queue'); var _pdf_rendering_queue = require('./pdf_rendering_queue');
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var UI_NOTIFICATION_CLASS = 'pdfSidebarNotification'; var UI_NOTIFICATION_CLASS = 'pdfSidebarNotification';
var SidebarView = { var SidebarView = {
NONE: 0, NONE: 0,
@ -30,8 +34,11 @@ var SidebarView = {
OUTLINE: 2, OUTLINE: 2,
ATTACHMENTS: 3 ATTACHMENTS: 3
}; };
var PDFSidebar = function PDFSidebarClosure() {
var PDFSidebar = function () {
function PDFSidebar(options) { function PDFSidebar(options) {
_classCallCheck(this, PDFSidebar);
this.isOpen = false; this.isOpen = false;
this.active = SidebarView.THUMBS; this.active = SidebarView.THUMBS;
this.isInitialViewSet = false; this.isInitialViewSet = false;
@ -52,27 +59,19 @@ var PDFSidebar = function PDFSidebarClosure() {
this.disableNotification = options.disableNotification || false; this.disableNotification = options.disableNotification || false;
this._addEventListeners(); this._addEventListeners();
} }
PDFSidebar.prototype = {
reset: function PDFSidebar_reset() { _createClass(PDFSidebar, [{
key: 'reset',
value: function reset() {
this.isInitialViewSet = false; this.isInitialViewSet = false;
this._hideUINotification(null); this._hideUINotification(null);
this.switchView(SidebarView.THUMBS); this.switchView(SidebarView.THUMBS);
this.outlineButton.disabled = false; this.outlineButton.disabled = false;
this.attachmentsButton.disabled = false; this.attachmentsButton.disabled = false;
}, }
get visibleView() { }, {
return this.isOpen ? this.active : SidebarView.NONE; key: 'setInitialView',
}, value: function setInitialView(view) {
get isThumbnailViewVisible() {
return this.isOpen && this.active === SidebarView.THUMBS;
},
get isOutlineViewVisible() {
return this.isOpen && this.active === SidebarView.OUTLINE;
},
get isAttachmentsViewVisible() {
return this.isOpen && this.active === SidebarView.ATTACHMENTS;
},
setInitialView: function PDFSidebar_setInitialView(view) {
if (this.isInitialViewSet) { if (this.isInitialViewSet) {
return; return;
} }
@ -86,8 +85,12 @@ var PDFSidebar = function PDFSidebarClosure() {
if (isViewPreserved) { if (isViewPreserved) {
this._dispatchEvent(); this._dispatchEvent();
} }
}, }
switchView: function PDFSidebar_switchView(view, forceOpen) { }, {
key: 'switchView',
value: function switchView(view) {
var forceOpen = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
if (view === SidebarView.NONE) { if (view === SidebarView.NONE) {
this.close(); this.close();
return; return;
@ -145,8 +148,10 @@ var PDFSidebar = function PDFSidebarClosure() {
this._dispatchEvent(); this._dispatchEvent();
} }
this._hideUINotification(this.active); this._hideUINotification(this.active);
}, }
open: function PDFSidebar_open() { }, {
key: 'open',
value: function open() {
if (this.isOpen) { if (this.isOpen) {
return; return;
} }
@ -160,8 +165,10 @@ var PDFSidebar = function PDFSidebarClosure() {
this._forceRendering(); this._forceRendering();
this._dispatchEvent(); this._dispatchEvent();
this._hideUINotification(this.active); this._hideUINotification(this.active);
}, }
close: function PDFSidebar_close() { }, {
key: 'close',
value: function close() {
if (!this.isOpen) { if (!this.isOpen) {
return; return;
} }
@ -171,29 +178,37 @@ var PDFSidebar = function PDFSidebarClosure() {
this.outerContainer.classList.remove('sidebarOpen'); this.outerContainer.classList.remove('sidebarOpen');
this._forceRendering(); this._forceRendering();
this._dispatchEvent(); this._dispatchEvent();
}, }
toggle: function PDFSidebar_toggle() { }, {
key: 'toggle',
value: function toggle() {
if (this.isOpen) { if (this.isOpen) {
this.close(); this.close();
} else { } else {
this.open(); this.open();
} }
}, }
_dispatchEvent: function PDFSidebar_dispatchEvent() { }, {
key: '_dispatchEvent',
value: function _dispatchEvent() {
this.eventBus.dispatch('sidebarviewchanged', { this.eventBus.dispatch('sidebarviewchanged', {
source: this, source: this,
view: this.visibleView view: this.visibleView
}); });
}, }
_forceRendering: function PDFSidebar_forceRendering() { }, {
key: '_forceRendering',
value: function _forceRendering() {
if (this.onToggled) { if (this.onToggled) {
this.onToggled(); this.onToggled();
} else { } else {
this.pdfViewer.forceRendering(); this.pdfViewer.forceRendering();
this.pdfThumbnailViewer.forceRendering(); this.pdfThumbnailViewer.forceRendering();
} }
}, }
_updateThumbnailViewer: function PDFSidebar_updateThumbnailViewer() { }, {
key: '_updateThumbnailViewer',
value: function _updateThumbnailViewer() {
var pdfViewer = this.pdfViewer; var pdfViewer = this.pdfViewer;
var thumbnailViewer = this.pdfThumbnailViewer; var thumbnailViewer = this.pdfThumbnailViewer;
var pagesCount = pdfViewer.pagesCount; var pagesCount = pdfViewer.pagesCount;
@ -205,8 +220,10 @@ var PDFSidebar = function PDFSidebarClosure() {
} }
} }
thumbnailViewer.scrollThumbnailIntoView(pdfViewer.currentPageNumber); thumbnailViewer.scrollThumbnailIntoView(pdfViewer.currentPageNumber);
}, }
_showUINotification: function _showUINotification(view) { }, {
key: '_showUINotification',
value: function _showUINotification(view) {
if (this.disableNotification) { if (this.disableNotification) {
return; return;
} }
@ -224,21 +241,25 @@ var PDFSidebar = function PDFSidebarClosure() {
this.attachmentsButton.classList.add(UI_NOTIFICATION_CLASS); this.attachmentsButton.classList.add(UI_NOTIFICATION_CLASS);
break; break;
} }
}, }
_hideUINotification: function _hideUINotification(view) { }, {
key: '_hideUINotification',
value: function _hideUINotification(view) {
var _this = this;
if (this.disableNotification) { if (this.disableNotification) {
return; return;
} }
var removeNotification = function (view) { var removeNotification = function removeNotification(view) {
switch (view) { switch (view) {
case SidebarView.OUTLINE: case SidebarView.OUTLINE:
this.outlineButton.classList.remove(UI_NOTIFICATION_CLASS); _this.outlineButton.classList.remove(UI_NOTIFICATION_CLASS);
break; break;
case SidebarView.ATTACHMENTS: case SidebarView.ATTACHMENTS:
this.attachmentsButton.classList.remove(UI_NOTIFICATION_CLASS); _this.attachmentsButton.classList.remove(UI_NOTIFICATION_CLASS);
break; break;
} }
}.bind(this); };
if (!this.isOpen && view !== null) { if (!this.isOpen && view !== null) {
return; return;
} }
@ -251,52 +272,77 @@ var PDFSidebar = function PDFSidebarClosure() {
removeNotification(SidebarView[view]); removeNotification(SidebarView[view]);
} }
this.toggleButton.title = _ui_utils.mozL10n.get('toggle_sidebar.title', null, 'Toggle Sidebar'); this.toggleButton.title = _ui_utils.mozL10n.get('toggle_sidebar.title', null, 'Toggle Sidebar');
}, }
_addEventListeners: function PDFSidebar_addEventListeners() { }, {
var self = this; key: '_addEventListeners',
self.mainContainer.addEventListener('transitionend', function (evt) { value: function _addEventListeners() {
if (evt.target === this) { var _this2 = this;
self.outerContainer.classList.remove('sidebarMoving');
this.mainContainer.addEventListener('transitionend', function (evt) {
if (evt.target === _this2.mainContainer) {
_this2.outerContainer.classList.remove('sidebarMoving');
} }
}); });
self.thumbnailButton.addEventListener('click', function () { this.thumbnailButton.addEventListener('click', function () {
self.switchView(SidebarView.THUMBS); _this2.switchView(SidebarView.THUMBS);
}); });
self.outlineButton.addEventListener('click', function () { this.outlineButton.addEventListener('click', function () {
self.switchView(SidebarView.OUTLINE); _this2.switchView(SidebarView.OUTLINE);
}); });
self.outlineButton.addEventListener('dblclick', function () { this.outlineButton.addEventListener('dblclick', function () {
self.pdfOutlineViewer.toggleOutlineTree(); _this2.pdfOutlineViewer.toggleOutlineTree();
}); });
self.attachmentsButton.addEventListener('click', function () { this.attachmentsButton.addEventListener('click', function () {
self.switchView(SidebarView.ATTACHMENTS); _this2.switchView(SidebarView.ATTACHMENTS);
}); });
self.eventBus.on('outlineloaded', function (e) { this.eventBus.on('outlineloaded', function (evt) {
var outlineCount = e.outlineCount; var outlineCount = evt.outlineCount;
self.outlineButton.disabled = !outlineCount; _this2.outlineButton.disabled = !outlineCount;
if (outlineCount) { if (outlineCount) {
self._showUINotification(SidebarView.OUTLINE); _this2._showUINotification(SidebarView.OUTLINE);
} else if (self.active === SidebarView.OUTLINE) { } else if (_this2.active === SidebarView.OUTLINE) {
self.switchView(SidebarView.THUMBS); _this2.switchView(SidebarView.THUMBS);
} }
}); });
self.eventBus.on('attachmentsloaded', function (e) { this.eventBus.on('attachmentsloaded', function (evt) {
var attachmentsCount = e.attachmentsCount; var attachmentsCount = evt.attachmentsCount;
self.attachmentsButton.disabled = !attachmentsCount; _this2.attachmentsButton.disabled = !attachmentsCount;
if (attachmentsCount) { if (attachmentsCount) {
self._showUINotification(SidebarView.ATTACHMENTS); _this2._showUINotification(SidebarView.ATTACHMENTS);
} else if (self.active === SidebarView.ATTACHMENTS) { } else if (_this2.active === SidebarView.ATTACHMENTS) {
self.switchView(SidebarView.THUMBS); _this2.switchView(SidebarView.THUMBS);
} }
}); });
self.eventBus.on('presentationmodechanged', function (e) { this.eventBus.on('presentationmodechanged', function (evt) {
if (!e.active && !e.switchInProgress && self.isThumbnailViewVisible) { if (!evt.active && !evt.switchInProgress && _this2.isThumbnailViewVisible) {
self._updateThumbnailViewer(); _this2._updateThumbnailViewer();
} }
}); });
} }
}; }, {
key: 'visibleView',
get: function get() {
return this.isOpen ? this.active : SidebarView.NONE;
}
}, {
key: 'isThumbnailViewVisible',
get: function get() {
return this.isOpen && this.active === SidebarView.THUMBS;
}
}, {
key: 'isOutlineViewVisible',
get: function get() {
return this.isOpen && this.active === SidebarView.OUTLINE;
}
}, {
key: 'isAttachmentsViewVisible',
get: function get() {
return this.isOpen && this.active === SidebarView.ATTACHMENTS;
}
}]);
return PDFSidebar; return PDFSidebar;
}(); }();
exports.SidebarView = SidebarView; exports.SidebarView = SidebarView;
exports.PDFSidebar = PDFSidebar; exports.PDFSidebar = PDFSidebar;

156
lib/web/preferences.js

@ -20,6 +20,10 @@ Object.defineProperty(exports, "__esModule", {
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; }; 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; };
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; }; }();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var defaultPreferences = null; var defaultPreferences = null;
function getDefaultPreferences() { function getDefaultPreferences() {
if (!defaultPreferences) { if (!defaultPreferences) {
@ -55,99 +59,115 @@ function cloneObj(obj) {
} }
return result; return result;
} }
var Preferences = {
prefs: null, var BasePreferences = function () {
isInitializedPromiseResolved: false, function BasePreferences() {
initializedPromise: null, var _this = this;
initialize: function preferencesInitialize() {
return this.initializedPromise = getDefaultPreferences().then(function (defaults) { _classCallCheck(this, BasePreferences);
Object.defineProperty(this, 'defaults', {
if (this.constructor === BasePreferences) {
throw new Error('Cannot initialize BasePreferences.');
}
this.prefs = null;
this._initializedPromise = getDefaultPreferences().then(function (defaults) {
Object.defineProperty(_this, 'defaults', {
value: Object.freeze(defaults), value: Object.freeze(defaults),
writable: false, writable: false,
enumerable: true, enumerable: true,
configurable: false configurable: false
}); });
this.prefs = cloneObj(defaults); _this.prefs = cloneObj(defaults);
return this._readFromStorage(defaults); return _this._readFromStorage(defaults);
}.bind(this)).then(function (prefObj) { }).then(function (prefObj) {
this.isInitializedPromiseResolved = true;
if (prefObj) { if (prefObj) {
this.prefs = prefObj; _this.prefs = prefObj;
} }
}.bind(this)); });
}, }
_writeToStorage: function preferences_writeToStorage(prefObj) {
return Promise.resolve(); _createClass(BasePreferences, [{
}, key: "_writeToStorage",
_readFromStorage: function preferences_readFromStorage(prefObj) { value: function _writeToStorage(prefObj) {
return Promise.resolve(); return Promise.reject(new Error('Not implemented: _writeToStorage'));
}, }
reset: function preferencesReset() { }, {
return this.initializedPromise.then(function () { key: "_readFromStorage",
this.prefs = cloneObj(this.defaults); value: function _readFromStorage(prefObj) {
return this._writeToStorage(this.defaults); return Promise.reject(new Error('Not implemented: _readFromStorage'));
}.bind(this)); }
}, }, {
reload: function preferencesReload() { key: "reset",
return this.initializedPromise.then(function () { value: function reset() {
this._readFromStorage(this.defaults).then(function (prefObj) { var _this2 = this;
return this._initializedPromise.then(function () {
_this2.prefs = cloneObj(_this2.defaults);
return _this2._writeToStorage(_this2.defaults);
});
}
}, {
key: "reload",
value: function reload() {
var _this3 = this;
return this._initializedPromise.then(function () {
return _this3._readFromStorage(_this3.defaults);
}).then(function (prefObj) {
if (prefObj) { if (prefObj) {
this.prefs = prefObj; _this3.prefs = prefObj;
} }
}.bind(this)); });
}.bind(this)); }
}, }, {
set: function preferencesSet(name, value) { key: "set",
return this.initializedPromise.then(function () { value: function set(name, value) {
if (this.defaults[name] === undefined) { var _this4 = this;
throw new Error('preferencesSet: \'' + name + '\' is undefined.');
return this._initializedPromise.then(function () {
if (_this4.defaults[name] === undefined) {
throw new Error("Set preference: \"" + name + "\" is undefined.");
} else if (value === undefined) { } else if (value === undefined) {
throw new Error('preferencesSet: no value is specified.'); throw new Error('Set preference: no value is specified.');
} }
var valueType = typeof value === "undefined" ? "undefined" : _typeof(value); var valueType = typeof value === "undefined" ? "undefined" : _typeof(value);
var defaultType = _typeof(this.defaults[name]); var defaultType = _typeof(_this4.defaults[name]);
if (valueType !== defaultType) { if (valueType !== defaultType) {
if (valueType === 'number' && defaultType === 'string') { if (valueType === 'number' && defaultType === 'string') {
value = value.toString(); value = value.toString();
} else { } else {
throw new Error('Preferences_set: \'' + value + '\' is a \"' + valueType + '\", expected \"' + defaultType + '\".'); throw new Error("Set preference: \"" + value + "\" is a " + valueType + ", " + ("expected a " + defaultType + "."));
} }
} else { } else {
if (valueType === 'number' && (value | 0) !== value) { if (valueType === 'number' && (value | 0) !== value) {
throw new Error('Preferences_set: \'' + value + '\' must be an \"integer\".'); throw new Error("Set preference: \"" + value + "\" must be an integer.");
} }
} }
this.prefs[name] = value; _this4.prefs[name] = value;
return this._writeToStorage(this.prefs); return _this4._writeToStorage(_this4.prefs);
}.bind(this)); });
}, }
get: function preferencesGet(name) { }, {
return this.initializedPromise.then(function () { key: "get",
var defaultValue = this.defaults[name]; value: function get(name) {
var _this5 = this;
return this._initializedPromise.then(function () {
var defaultValue = _this5.defaults[name];
if (defaultValue === undefined) { if (defaultValue === undefined) {
throw new Error('preferencesGet: \'' + name + '\' is undefined.'); throw new Error("Get preference: \"" + name + "\" is undefined.");
} else { } else {
var prefValue = this.prefs[name]; var prefValue = _this5.prefs[name];
if (prefValue !== undefined) { if (prefValue !== undefined) {
return prefValue; return prefValue;
} }
} }
return defaultValue; return defaultValue;
}.bind(this));
}
};
{
Preferences._writeToStorage = function (prefObj) {
return new Promise(function (resolve) {
localStorage.setItem('pdfjs.preferences', JSON.stringify(prefObj));
resolve();
}); });
};
Preferences._readFromStorage = function (prefObj) {
return new Promise(function (resolve) {
var readPrefs = JSON.parse(localStorage.getItem('pdfjs.preferences'));
resolve(readPrefs);
});
};
} }
exports.Preferences = Preferences; }]);
return BasePreferences;
}();
exports.BasePreferences = BasePreferences;

2
package.json

@ -1,6 +1,6 @@
{ {
"name": "pdfjs-dist", "name": "pdfjs-dist",
"version": "1.8.241", "version": "1.8.252",
"main": "build/pdf.js", "main": "build/pdf.js",
"description": "Generic build of Mozilla's PDF.js library.", "description": "Generic build of Mozilla's PDF.js library.",
"keywords": [ "keywords": [

Loading…
Cancel
Save