Bug 1415002 - Update pdf.js to version 2.0.104. r=bdahl

--HG--
extra : rebase_source : d1f4f041b83806592811eb3a823f9432d9746697
This commit is contained in:
Ryan VanderMeulen 2017-11-06 19:47:49 -05:00
parent af670f4147
commit 62062194de
7 changed files with 281 additions and 140 deletions

View File

@ -1,5 +1,5 @@
This is the PDF.js project output, https://github.com/mozilla/pdf.js
Current extension version is: 2.0.87
Current extension version is: 2.0.104
Taken from upstream commit: b46443f0
Taken from upstream commit: 012d0756

View File

@ -1961,7 +1961,7 @@ function _fetchDocument(worker, source, pdfDataRangeTransport, docId) {
if (worker.destroyed) {
return Promise.reject(new Error('Worker was destroyed'));
}
let apiVersion = '2.0.87';
let apiVersion = '2.0.104';
source.disableAutoFetch = (0, _dom_utils.getDefaultSetting)('disableAutoFetch');
source.disableStream = (0, _dom_utils.getDefaultSetting)('disableStream');
source.chunkedViewerLoading = !!pdfDataRangeTransport;
@ -3258,8 +3258,8 @@ var InternalRenderTask = function InternalRenderTaskClosure() {
}();
var version, build;
{
exports.version = version = '2.0.87';
exports.build = build = 'b46443f0';
exports.version = version = '2.0.104';
exports.build = build = '012d0756';
}
exports.getDocument = getDocument;
exports.LoopbackPort = LoopbackPort;
@ -4993,8 +4993,8 @@ exports.SVGGraphics = SVGGraphics;
"use strict";
var pdfjsVersion = '2.0.87';
var pdfjsBuild = 'b46443f0';
var pdfjsVersion = '2.0.104';
var pdfjsBuild = '012d0756';
var pdfjsSharedUtil = __w_pdfjs_require__(0);
var pdfjsDisplayGlobal = __w_pdfjs_require__(13);
var pdfjsDisplayAPI = __w_pdfjs_require__(3);
@ -8118,8 +8118,8 @@ if (!_global_scope2.default.PDFJS) {
}
var PDFJS = _global_scope2.default.PDFJS;
{
PDFJS.version = '2.0.87';
PDFJS.build = 'b46443f0';
PDFJS.version = '2.0.104';
PDFJS.build = '012d0756';
}
PDFJS.pdfBug = false;
if (PDFJS.verbosity !== undefined) {
@ -8183,7 +8183,6 @@ PDFJS.getDocument = _api.getDocument;
PDFJS.LoopbackPort = _api.LoopbackPort;
PDFJS.PDFDataRangeTransport = _api.PDFDataRangeTransport;
PDFJS.PDFWorker = _api.PDFWorker;
PDFJS.hasCanvasTypedArrays = true;
PDFJS.CustomStyle = _dom_utils.CustomStyle;
PDFJS.LinkTarget = _dom_utils.LinkTarget;
PDFJS.addLinkAttributes = _dom_utils.addLinkAttributes;

View File

@ -3210,7 +3210,7 @@ var IndexedCS = function IndexedCSClosure() {
for (var i = 0; i < length; ++i) {
this.lookup[i] = lookup.charCodeAt(i);
}
} else if (lookup instanceof Uint8Array || lookup instanceof Array) {
} else if (lookup instanceof Uint8Array) {
this.lookup = lookup;
} else {
throw new _util.FormatError(`Unrecognized lookup table: ${lookup}`);
@ -4255,7 +4255,7 @@ var Parser = function ParserClosure() {
makeFilter: function Parser_makeFilter(stream, name, maybeLength, params) {
if (maybeLength === 0) {
(0, _util.warn)('Empty "' + name + '" stream.');
return new _stream.NullStream(stream);
return new _stream.NullStream();
}
try {
var xrefStreamStats = this.xref.stats.streamTypes;
@ -4312,7 +4312,7 @@ var Parser = function ParserClosure() {
throw ex;
}
(0, _util.warn)('Invalid stream: \"' + ex + '\"');
return new _stream.NullStream(stream);
return new _stream.NullStream();
}
}
};
@ -14166,7 +14166,7 @@ var AES128Cipher = function AES128CipherClosure() {
return state;
}
function encrypt128(input, key) {
var t, u, v, k;
var t, u, v, j, k;
var state = new Uint8Array(16);
state.set(input);
for (j = 0; j < 16; ++j) {
@ -14194,7 +14194,7 @@ var AES128Cipher = function AES128CipherClosure() {
state[7] = v;
state[11] = u;
state[15] = t;
for (var j = 0; j < 16; j += 4) {
for (j = 0; j < 16; j += 4) {
var s0 = state[j + 0],
s1 = state[j + 1];
var s2 = state[j + 2],
@ -14370,16 +14370,17 @@ var AES256Cipher = function AES256CipherClosure() {
var r = 1;
result.set(cipherKey);
for (var j = 32, i = 1; j < b; ++i) {
var t1, t2, t3, t4;
if (j % 32 === 16) {
t1 = s[t1];
t2 = s[t2];
t3 = s[t3];
t4 = s[t4];
} else if (j % 32 === 0) {
var t1 = result[j - 3],
t2 = result[j - 2],
t3 = result[j - 1],
t4 = result[j - 4];
t1 = result[j - 3];
t2 = result[j - 2];
t3 = result[j - 1];
t4 = result[j - 4];
t1 = s[t1];
t2 = s[t2];
t3 = s[t3];
@ -14472,7 +14473,7 @@ var AES256Cipher = function AES256CipherClosure() {
return state;
}
function encrypt256(input, key) {
var t, u, v, k;
var t, u, v, i, j, k;
var state = new Uint8Array(16);
state.set(input);
for (j = 0; j < 16; ++j) {
@ -14500,7 +14501,7 @@ var AES256Cipher = function AES256CipherClosure() {
state[7] = v;
state[11] = u;
state[15] = t;
for (var j = 0; j < 16; j += 4) {
for (j = 0; j < 16; j += 4) {
var s0 = state[j + 0],
s1 = state[j + 1];
var s2 = state[j + 2],
@ -23283,8 +23284,8 @@ exports.PostScriptCompiler = PostScriptCompiler;
"use strict";
var pdfjsVersion = '2.0.87';
var pdfjsBuild = 'b46443f0';
var pdfjsVersion = '2.0.104';
var pdfjsBuild = '012d0756';
var pdfjsCoreWorker = __w_pdfjs_require__(18);
exports.WorkerMessageHandler = pdfjsCoreWorker.WorkerMessageHandler;
@ -23479,7 +23480,7 @@ var WorkerMessageHandler = {
var cancelXHRs = null;
var WorkerTasks = [];
let apiVersion = docParams.apiVersion;
let workerVersion = '2.0.87';
let workerVersion = '2.0.104';
if (apiVersion !== null && apiVersion !== workerVersion) {
throw new Error(`The API version "${apiVersion}" does not match ` + `the Worker version "${workerVersion}".`);
}
@ -30793,14 +30794,14 @@ var BinaryCMapReader = function BinaryCMapReaderClosure() {
stream.readHex(start, dataSize);
stream.readHexNumber(end, dataSize);
addHex(end, start, dataSize);
code = stream.readNumber();
stream.readNumber();
for (i = 1; i < subitemsCount; i++) {
incHex(end, dataSize);
stream.readHexNumber(start, dataSize);
addHex(start, end, dataSize);
stream.readHexNumber(end, dataSize);
addHex(end, start, dataSize);
code = stream.readNumber();
stream.readNumber();
}
break;
case 2:
@ -32958,7 +32959,6 @@ var Font = function FontClosure() {
}
if (glyphId > 0 && hasGlyph(glyphId)) {
charCodeToGlyphId[charCode] = glyphId;
found = true;
}
}
}
@ -33396,7 +33396,6 @@ var Type1Font = function Type1FontClosure() {
headerBlockLength = pfbHeader[5] << 24 | pfbHeader[4] << 16 | pfbHeader[3] << 8 | pfbHeader[2];
}
var headerBlock = getHeaderBlock(file, headerBlockLength);
headerBlockLength = headerBlock.length;
var headerBlockParser = new _type1_parser.Type1Parser(headerBlock.stream, false, SEAC_ANALYSIS_ENABLED);
headerBlockParser.extractFontHeader(properties);
if (pfbHeaderPresent) {
@ -33404,7 +33403,6 @@ var Type1Font = function Type1FontClosure() {
eexecBlockLength = pfbHeader[5] << 24 | pfbHeader[4] << 16 | pfbHeader[3] << 8 | pfbHeader[2];
}
var eexecBlock = getEexecBlock(file, eexecBlockLength);
eexecBlockLength = eexecBlock.length;
var eexecBlockParser = new _type1_parser.Type1Parser(eexecBlock.stream, true, SEAC_ANALYSIS_ENABLED);
var data = eexecBlockParser.extractFontProgram();
for (var info in data.properties) {
@ -34831,7 +34829,7 @@ var Type1Parser = function Type1ParserClosure() {
case 'Subrs':
this.readInt();
this.getToken();
while ((token = this.getToken()) === 'dup') {
while (this.getToken() === 'dup') {
var index = this.readInt();
length = this.readInt();
this.getToken();
@ -39154,6 +39152,10 @@ exports.PostScriptParser = PostScriptParser;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.MurmurHash3_64 = undefined;
var _util = __w_pdfjs_require__(0);
var MurmurHash3_64 = function MurmurHash3_64Closure(seed) {
var MASK_HIGH = 0xffff0000;
var MASK_LOW = 0xffff;
@ -39164,11 +39166,11 @@ var MurmurHash3_64 = function MurmurHash3_64Closure(seed) {
}
MurmurHash3_64.prototype = {
update: function MurmurHash3_64_update(input) {
var i;
if (typeof input === 'string') {
var data = new Uint8Array(input.length * 2);
var length = 0;
for (i = 0; i < input.length; i++) {
let data, length;
if ((0, _util.isString)(input)) {
data = new Uint8Array(input.length * 2);
length = 0;
for (let i = 0, ii = input.length; i < ii; i++) {
var code = input.charCodeAt(i);
if (code <= 0xff) {
data[length++] = code;
@ -39177,7 +39179,7 @@ var MurmurHash3_64 = function MurmurHash3_64Closure(seed) {
data[length++] = code & 0xff;
}
}
} else if (typeof input === 'object' && 'byteLength' in input) {
} else if ((0, _util.isArrayBuffer)(input)) {
data = input;
length = data.byteLength;
} else {
@ -39194,7 +39196,7 @@ var MurmurHash3_64 = function MurmurHash3_64Closure(seed) {
var C2 = 0x1b873593;
var C1_LOW = C1 & MASK_LOW;
var C2_LOW = C2 & MASK_LOW;
for (i = 0; i < blockCounts; i++) {
for (let i = 0; i < blockCounts; i++) {
if (i & 1) {
k1 = dataUint32[i];
k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;

View File

@ -12,6 +12,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/* eslint-disable no-var */
'use strict';

View File

@ -316,6 +316,10 @@
border: 0;
}
:root {
--sidebar-width: 200px;
}
* {
padding: 0;
margin: 0;
@ -401,31 +405,48 @@ select {
#sidebarContainer {
position: absolute;
top: 0;
top: 32px;
bottom: 0;
width: 200px;
width: 200px; /* Here, and elsewhere below, keep the constant value for compatibility
with older browsers that lack support for CSS variables. */
width: var(--sidebar-width);
visibility: hidden;
z-index: 100;
border-top: 1px solid #333;
transition-duration: 200ms;
transition-timing-function: ease;
}
html[dir='ltr'] #sidebarContainer {
transition-property: left;
left: -200px;
left: calc(-1 * var(--sidebar-width));
}
html[dir='rtl'] #sidebarContainer {
transition-property: right;
right: -200px;
right: calc(-1 * var(--sidebar-width));
}
#outerContainer.sidebarMoving > #sidebarContainer,
#outerContainer.sidebarOpen > #sidebarContainer {
.loadingInProgress #sidebarContainer {
top: 36px;
}
#outerContainer.sidebarResizing #sidebarContainer {
/* Improve responsiveness and avoid visual glitches when the sidebar is resized. */
transition-duration: 0s;
/* Prevent e.g. the thumbnails being selected when the sidebar is resized. */
-moz-user-select: none;
}
#outerContainer.sidebarMoving #sidebarContainer,
#outerContainer.sidebarOpen #sidebarContainer {
visibility: visible;
}
html[dir='ltr'] #outerContainer.sidebarOpen > #sidebarContainer {
html[dir='ltr'] #outerContainer.sidebarOpen #sidebarContainer {
left: 0px;
}
html[dir='rtl'] #outerContainer.sidebarOpen > #sidebarContainer {
html[dir='rtl'] #outerContainer.sidebarOpen #sidebarContainer {
right: 0px;
}
@ -436,16 +457,6 @@ html[dir='rtl'] #outerContainer.sidebarOpen > #sidebarContainer {
bottom: 0;
left: 0;
min-width: 320px;
transition-duration: 200ms;
transition-timing-function: ease;
}
html[dir='ltr'] #outerContainer.sidebarOpen > #mainContainer {
transition-property: left;
left: 200px;
}
html[dir='rtl'] #outerContainer.sidebarOpen > #mainContainer {
transition-property: right;
right: 200px;
}
#sidebarContent {
@ -453,7 +464,7 @@ html[dir='rtl'] #outerContainer.sidebarOpen > #mainContainer {
bottom: 0;
overflow: auto;
position: absolute;
width: 200px;
width: 100%;
background-color: hsla(0,0%,0%,.1);
}
html[dir='ltr'] #sidebarContent {
@ -473,6 +484,9 @@ html[dir='rtl'] #sidebarContent {
bottom: 0;
left: 0;
outline: none;
transition-duration: 200ms;
transition-timing-function: ease;
}
html[dir='ltr'] #viewerContainer {
box-shadow: inset 1px 0 0 hsla(0,0%,100%,.05);
@ -481,6 +495,22 @@ html[dir='rtl'] #viewerContainer {
box-shadow: inset -1px 0 0 hsla(0,0%,100%,.05);
}
#outerContainer.sidebarResizing #viewerContainer {
/* Improve responsiveness and avoid visual glitches when the sidebar is resized. */
transition-duration: 0s;
}
html[dir='ltr'] #outerContainer.sidebarOpen #viewerContainer {
transition-property: left;
left: 200px;
left: var(--sidebar-width);
}
html[dir='rtl'] #outerContainer.sidebarOpen #viewerContainer {
transition-property: right;
right: 200px;
right: var(--sidebar-width);
}
.toolbar {
position: relative;
left: 0;
@ -494,7 +524,7 @@ html[dir='rtl'] #viewerContainer {
}
#toolbarSidebar {
width: 200px;
width: 100%;
height: 32px;
background-color: #424242; /* fallback */
background-image: url(images/texture.png),
@ -513,6 +543,21 @@ html[dir='rtl'] #toolbarSidebar {
0 0 1px hsla(0,0%,0%,.1);
}
#sidebarResizer {
position: absolute;
top: 0;
bottom: 0;
width: 6px;
z-index: 200;
cursor: ew-resize;
}
html[dir='ltr'] #sidebarResizer {
right: -6px;
}
html[dir='rtl'] #sidebarResizer {
left: -6px;
}
#toolbarContainer, .findbar, .secondaryToolbar {
position: relative;
height: 32px;
@ -521,15 +566,13 @@ html[dir='rtl'] #toolbarSidebar {
linear-gradient(hsla(0,0%,32%,.99), hsla(0,0%,27%,.95));
}
html[dir='ltr'] #toolbarContainer, .findbar, .secondaryToolbar {
box-shadow: inset 1px 0 0 hsla(0,0%,100%,.08),
inset 0 1px 1px hsla(0,0%,0%,.15),
box-shadow: inset 0 1px 1px hsla(0,0%,0%,.15),
inset 0 -1px 0 hsla(0,0%,100%,.05),
0 1px 0 hsla(0,0%,0%,.15),
0 1px 1px hsla(0,0%,0%,.1);
}
html[dir='rtl'] #toolbarContainer, .findbar, .secondaryToolbar {
box-shadow: inset -1px 0 0 hsla(0,0%,100%,.08),
inset 0 1px 1px hsla(0,0%,0%,.15),
box-shadow: inset 0 1px 1px hsla(0,0%,0%,.15),
inset 0 -1px 0 hsla(0,0%,100%,.05),
0 1px 0 hsla(0,0%,0%,.15),
0 1px 1px hsla(0,0%,0%,.1);
@ -1324,16 +1367,21 @@ html[dir='rtl'] .verticalToolbarSeparator {
#thumbnailView {
position: absolute;
width: 120px;
width: calc(100% - 60px);
top: 0;
bottom: 0;
padding: 10px 40px 0;
padding: 10px 30px 0;
overflow: auto;
}
.thumbnail {
margin: 0 10px 5px 10px;
}
html[dir='ltr'] .thumbnail {
float: left;
margin-bottom: 5px;
}
html[dir='rtl'] .thumbnail {
float: right;
}
#thumbnailView > a:last-of-type > .thumbnail {
@ -1346,7 +1394,7 @@ html[dir='rtl'] .verticalToolbarSeparator {
.thumbnail:not([data-loaded]) {
border: 1px dashed rgba(255, 255, 255, 0.5);
margin: -1px -1px 4px -1px;
margin: -1px 9px 4px 9px;
}
.thumbnailImage {
@ -1397,7 +1445,7 @@ a:focus > .thumbnail > .thumbnailSelectionRing,
#outlineView,
#attachmentsView {
position: absolute;
width: 192px;
width: calc(100% - 8px);
top: 0;
bottom: 0;
overflow: auto;
@ -2033,28 +2081,6 @@ html[dir='rtl'] #documentPropertiesOverlay .row > * {
display: none;
}
@media all and (max-width: 1040px) {
#outerContainer.sidebarMoving #toolbarViewerMiddle,
#outerContainer.sidebarOpen #toolbarViewerMiddle {
display: table;
margin: auto;
left: auto;
position: inherit;
transform: none;
}
}
@media all and (max-width: 980px) {
.sidebarMoving .hiddenLargeView,
.sidebarOpen .hiddenLargeView {
display: none;
}
.sidebarMoving .visibleLargeView,
.sidebarOpen .visibleLargeView {
display: inherit;
}
}
@media all and (max-width: 900px) {
#toolbarViewerMiddle {
display: table;
@ -2063,33 +2089,17 @@ html[dir='rtl'] #documentPropertiesOverlay .row > * {
position: inherit;
transform: none;
}
.sidebarMoving .hiddenMediumView,
.sidebarOpen .hiddenMediumView {
display: none;
}
.sidebarMoving .visibleMediumView,
.sidebarOpen .visibleMediumView {
display: inherit;
}
}
@media all and (max-width: 840px) {
#sidebarContainer {
top: 32px;
z-index: 100;
}
.loadingInProgress #sidebarContainer {
top: 37px;
}
#sidebarContent {
top: 32px;
background-color: hsla(0,0%,0%,.7);
}
html[dir='ltr'] #outerContainer.sidebarOpen > #mainContainer {
html[dir='ltr'] #outerContainer.sidebarOpen #viewerContainer {
left: 0px;
}
html[dir='rtl'] #outerContainer.sidebarOpen > #mainContainer {
html[dir='rtl'] #outerContainer.sidebarOpen #viewerContainer {
right: 0px;
}

View File

@ -64,6 +64,7 @@ See https://github.com/adobe-type-tools/cmap-resources
<div id="attachmentsView" class="hidden">
</div>
</div>
<div id="sidebarResizer" class="hidden"></div>
</div> <!-- sidebarContainer -->
<div id="mainContainer">

View File

@ -120,6 +120,9 @@ function formatL10nValue(text, args) {
});
}
let NullL10n = {
getDirection() {
return Promise.resolve('ltr');
},
get(property, args, fallback) {
return Promise.resolve(formatL10nValue(fallback, args));
},
@ -553,7 +556,7 @@ exports.waitOnEventOrTimeout = waitOnEventOrTimeout;
"use strict";
var pdfjsLib;
let pdfjsLib;
if (typeof window !== 'undefined' && window['pdfjs-dist/build/pdf']) {
pdfjsLib = window['pdfjs-dist/build/pdf'];
} else {
@ -836,15 +839,17 @@ var _pdf_outline_viewer = __webpack_require__(17);
var _pdf_presentation_mode = __webpack_require__(18);
var _pdf_thumbnail_viewer = __webpack_require__(19);
var _pdf_sidebar_resizer = __webpack_require__(19);
var _pdf_viewer = __webpack_require__(21);
var _pdf_thumbnail_viewer = __webpack_require__(20);
var _secondary_toolbar = __webpack_require__(26);
var _pdf_viewer = __webpack_require__(22);
var _toolbar = __webpack_require__(27);
var _secondary_toolbar = __webpack_require__(27);
var _view_history = __webpack_require__(28);
var _toolbar = __webpack_require__(28);
var _view_history = __webpack_require__(29);
const DEFAULT_SCALE_DELTA = 1.1;
const DISABLE_AUTO_FETCH_LOADING_BAR_TIMEOUT = 5000;
@ -892,6 +897,7 @@ let PDFViewerApplication = {
pdfLinkService: null,
pdfHistory: null,
pdfSidebar: null,
pdfSidebarResizer: null,
pdfOutlineViewer: null,
pdfAttachmentViewer: null,
pdfCursorTools: null,
@ -1104,6 +1110,7 @@ let PDFViewerApplication = {
sidebarConfig.eventBus = eventBus;
this.pdfSidebar = new _pdf_sidebar.PDFSidebar(sidebarConfig, this.l10n);
this.pdfSidebar.onToggled = this.forceRendering.bind(this);
this.pdfSidebarResizer = new _pdf_sidebar_resizer.PDFSidebarResizer(appConfig.sidebarResizer, eventBus, this.l10n);
resolve(undefined);
});
},
@ -1697,7 +1704,7 @@ let PDFViewerApplication = {
bindWindowEvents() {
let { eventBus, _boundEvents } = this;
_boundEvents.windowResize = () => {
eventBus.dispatch('resize');
eventBus.dispatch('resize', { source: window });
};
_boundEvents.windowHashChange = () => {
eventBus.dispatch('hashchange', { hash: document.location.hash.substring(1) });
@ -1865,9 +1872,9 @@ function webViewerInitialized() {
if (PDFViewerApplication.supportsIntegratedFind) {
appConfig.toolbar.viewFind.classList.add('hidden');
}
appConfig.sidebar.mainContainer.addEventListener('transitionend', function (evt) {
appConfig.mainContainer.addEventListener('transitionend', function (evt) {
if (evt.target === this) {
PDFViewerApplication.eventBus.dispatch('resize');
PDFViewerApplication.eventBus.dispatch('resize', { source: this });
}
}, true);
appConfig.sidebar.toggleButton.addEventListener('click', function () {
@ -3185,8 +3192,8 @@ let pdfjsWebApp;
pdfjsWebApp = __webpack_require__(4);
}
{
__webpack_require__(29);
__webpack_require__(32);
__webpack_require__(30);
__webpack_require__(33);
}
;
;
@ -3239,8 +3246,8 @@ function getViewerConfiguration() {
contextPageRotateCcw: document.getElementById('contextPageRotateCcw')
},
sidebar: {
mainContainer: document.getElementById('mainContainer'),
outerContainer: document.getElementById('outerContainer'),
viewerContainer: document.getElementById('viewerContainer'),
toggleButton: document.getElementById('sidebarToggle'),
thumbnailButton: document.getElementById('viewThumbnail'),
outlineButton: document.getElementById('viewOutline'),
@ -3249,6 +3256,10 @@ function getViewerConfiguration() {
outlineView: document.getElementById('outlineView'),
attachmentsView: document.getElementById('attachmentsView')
},
sidebarResizer: {
outerContainer: document.getElementById('outerContainer'),
resizer: document.getElementById('sidebarResizer')
},
findBar: {
bar: document.getElementById('findbar'),
toggleButton: document.getElementById('viewFind'),
@ -3486,8 +3497,8 @@ class PDFSidebar {
this.pdfViewer = options.pdfViewer;
this.pdfThumbnailViewer = options.pdfThumbnailViewer;
this.pdfOutlineViewer = options.pdfOutlineViewer;
this.mainContainer = options.mainContainer;
this.outerContainer = options.outerContainer;
this.viewerContainer = options.viewerContainer;
this.eventBus = options.eventBus;
this.toggleButton = options.toggleButton;
this.thumbnailButton = options.thumbnailButton;
@ -3703,8 +3714,8 @@ class PDFSidebar {
});
}
_addEventListeners() {
this.mainContainer.addEventListener('transitionend', evt => {
if (evt.target === this.mainContainer) {
this.viewerContainer.addEventListener('transitionend', evt => {
if (evt.target === this.viewerContainer) {
this.outerContainer.classList.remove('sidebarMoving');
}
});
@ -5206,6 +5217,123 @@ exports.PDFPresentationMode = PDFPresentationMode;
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.PDFSidebarResizer = undefined;
var _ui_utils = __webpack_require__(0);
const SIDEBAR_WIDTH_VAR = '--sidebar-width';
const SIDEBAR_MIN_WIDTH = 200;
const SIDEBAR_RESIZING_CLASS = 'sidebarResizing';
class PDFSidebarResizer {
constructor(options, eventBus, l10n = _ui_utils.NullL10n) {
this.enabled = false;
this.isRTL = false;
this.sidebarOpen = false;
this.doc = document.documentElement;
this._width = null;
this._outerContainerWidth = null;
this._boundEvents = Object.create(null);
this.outerContainer = options.outerContainer;
this.resizer = options.resizer;
this.eventBus = eventBus;
this.l10n = l10n;
if (typeof CSS === 'undefined' || typeof CSS.supports !== 'function' || !CSS.supports(SIDEBAR_WIDTH_VAR, `calc(-1 * ${SIDEBAR_MIN_WIDTH}px)`)) {
console.warn('PDFSidebarResizer: ' + 'The browser does not support resizing of the sidebar.');
return;
}
this.enabled = true;
this.resizer.classList.remove('hidden');
this.l10n.getDirection().then(dir => {
this.isRTL = dir === 'rtl';
});
this._addEventListeners();
}
get outerContainerWidth() {
if (!this._outerContainerWidth) {
this._outerContainerWidth = this.outerContainer.clientWidth;
}
return this._outerContainerWidth;
}
_updateWidth(width = 0) {
if (!this.enabled) {
return false;
}
const maxWidth = Math.floor(this.outerContainerWidth / 2);
if (width > maxWidth) {
width = maxWidth;
}
if (width < SIDEBAR_MIN_WIDTH) {
width = SIDEBAR_MIN_WIDTH;
}
if (width === this._width) {
return false;
}
this._width = width;
this.doc.style.setProperty(SIDEBAR_WIDTH_VAR, `${width}px`);
return true;
}
_mouseMove(evt) {
let width = evt.clientX;
if (this.isRTL) {
width = this.outerContainerWidth - width;
}
this._updateWidth(width);
}
_mouseUp(evt) {
this.outerContainer.classList.remove(SIDEBAR_RESIZING_CLASS);
this.eventBus.dispatch('resize', { source: this });
let _boundEvents = this._boundEvents;
window.removeEventListener('mousemove', _boundEvents.mouseMove);
window.removeEventListener('mouseup', _boundEvents.mouseUp);
}
_addEventListeners() {
if (!this.enabled) {
return;
}
let _boundEvents = this._boundEvents;
_boundEvents.mouseMove = this._mouseMove.bind(this);
_boundEvents.mouseUp = this._mouseUp.bind(this);
this.resizer.addEventListener('mousedown', evt => {
this.outerContainer.classList.add(SIDEBAR_RESIZING_CLASS);
window.addEventListener('mousemove', _boundEvents.mouseMove);
window.addEventListener('mouseup', _boundEvents.mouseUp);
});
this.eventBus.on('sidebarviewchanged', evt => {
this.sidebarOpen = !!(evt && evt.view);
});
this.eventBus.on('resize', evt => {
if (evt && evt.source === window) {
this._outerContainerWidth = null;
if (this._width) {
if (this.sidebarOpen) {
this.outerContainer.classList.add(SIDEBAR_RESIZING_CLASS);
let updated = this._updateWidth(this._width);
Promise.resolve().then(() => {
this.outerContainer.classList.remove(SIDEBAR_RESIZING_CLASS);
if (updated) {
this.eventBus.dispatch('resize', { source: this });
}
});
} else {
this._updateWidth(this._width);
}
}
}
});
}
}
exports.PDFSidebarResizer = PDFSidebarResizer;
/***/ }),
/* 20 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
@ -5213,7 +5341,7 @@ exports.PDFThumbnailViewer = undefined;
var _ui_utils = __webpack_require__(0);
var _pdf_thumbnail_view = __webpack_require__(20);
var _pdf_thumbnail_view = __webpack_require__(21);
const THUMBNAIL_SCROLL_MARGIN = -19;
class PDFThumbnailViewer {
@ -5367,7 +5495,7 @@ class PDFThumbnailViewer {
exports.PDFThumbnailViewer = PDFThumbnailViewer;
/***/ }),
/* 20 */
/* 21 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@ -5678,7 +5806,7 @@ class PDFThumbnailView {
exports.PDFThumbnailView = PDFThumbnailView;
/***/ }),
/* 21 */
/* 22 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@ -5691,7 +5819,7 @@ exports.PDFViewer = undefined;
var _ui_utils = __webpack_require__(0);
var _base_viewer = __webpack_require__(22);
var _base_viewer = __webpack_require__(23);
var _pdfjsLib = __webpack_require__(1);
@ -5754,7 +5882,7 @@ class PDFViewer extends _base_viewer.BaseViewer {
exports.PDFViewer = PDFViewer;
/***/ }),
/* 22 */
/* 23 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@ -5771,15 +5899,15 @@ var _ui_utils = __webpack_require__(0);
var _pdf_rendering_queue = __webpack_require__(3);
var _annotation_layer_builder = __webpack_require__(23);
var _annotation_layer_builder = __webpack_require__(24);
var _dom_events = __webpack_require__(2);
var _pdf_page_view = __webpack_require__(24);
var _pdf_page_view = __webpack_require__(25);
var _pdf_link_service = __webpack_require__(5);
var _text_layer_builder = __webpack_require__(25);
var _text_layer_builder = __webpack_require__(26);
const DEFAULT_CACHE_SIZE = 10;
function PDFPageViewBuffer(size) {
@ -6431,7 +6559,7 @@ class BaseViewer {
exports.BaseViewer = BaseViewer;
/***/ }),
/* 23 */
/* 24 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@ -6513,7 +6641,7 @@ exports.AnnotationLayerBuilder = AnnotationLayerBuilder;
exports.DefaultAnnotationLayerFactory = DefaultAnnotationLayerFactory;
/***/ }),
/* 24 */
/* 25 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@ -6962,7 +7090,7 @@ class PDFPageView {
exports.PDFPageView = PDFPageView;
/***/ }),
/* 25 */
/* 26 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@ -7231,7 +7359,7 @@ exports.TextLayerBuilder = TextLayerBuilder;
exports.DefaultTextLayerFactory = DefaultTextLayerFactory;
/***/ }),
/* 26 */
/* 27 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@ -7411,7 +7539,7 @@ class SecondaryToolbar {
exports.SecondaryToolbar = SecondaryToolbar;
/***/ }),
/* 27 */
/* 28 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@ -7596,7 +7724,7 @@ class Toolbar {
exports.Toolbar = Toolbar;
/***/ }),
/* 28 */
/* 29 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@ -7679,7 +7807,7 @@ class ViewHistory {
exports.ViewHistory = ViewHistory;
/***/ }),
/* 29 */
/* 30 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@ -7690,11 +7818,11 @@ Object.defineProperty(exports, "__esModule", {
});
exports.FirefoxCom = exports.DownloadManager = undefined;
__webpack_require__(30);
__webpack_require__(31);
var _pdfjsLib = __webpack_require__(1);
var _preferences = __webpack_require__(31);
var _preferences = __webpack_require__(32);
var _app = __webpack_require__(4);
@ -7920,7 +8048,7 @@ exports.DownloadManager = DownloadManager;
exports.FirefoxCom = FirefoxCom;
/***/ }),
/* 30 */
/* 31 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@ -8018,7 +8146,7 @@ exports.FirefoxCom = FirefoxCom;
})(undefined);
/***/ }),
/* 31 */
/* 32 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@ -8143,7 +8271,7 @@ class BasePreferences {
exports.BasePreferences = BasePreferences;
/***/ }),
/* 32 */
/* 33 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";