Fix setScale regression that affects exiting Presentation Mode on narrow window widths

This commit is contained in:
Jonas Jenwald 2013-12-14 23:09:36 +01:00
parent 3923b0e677
commit 694b3d55b1

View File

@ -206,19 +206,37 @@ var PDFView = {
}, true); }, true);
}, },
_setScaleUpdatePages: function pdfView_setScaleUpdatePages(
newScale, newValue, resetAutoSettings, noScroll) {
this.currentScaleValue = newValue;
if (newScale === this.currentScale) {
return;
}
for (var i = 0, ii = this.pages.length; i < ii; i++) {
this.pages[i].update(newScale);
}
this.currentScale = newScale;
if (!noScroll) {
this.pages[this.page - 1].scrollIntoView();
}
var event = document.createEvent('UIEvents');
event.initUIEvent('scalechange', false, false, window, 0);
event.scale = newScale;
event.resetAutoSettings = resetAutoSettings;
window.dispatchEvent(event);
},
setScale: function pdfViewSetScale(value, resetAutoSettings, noScroll) { setScale: function pdfViewSetScale(value, resetAutoSettings, noScroll) {
if (value === 'custom') { if (value === 'custom') {
return; return;
} }
var pages = this.pages; var scale = parseFloat(value);
var currentPage = pages[this.page - 1];
var number = parseFloat(value);
var scale;
if (number > 0) { if (scale > 0) {
scale = number; this._setScaleUpdatePages(scale, value, true, noScroll);
resetAutoSettings = true;
} else { } else {
var currentPage = this.pages[this.page - 1];
if (!currentPage) { if (!currentPage) {
return; return;
} }
@ -247,28 +265,8 @@ var PDFView = {
'\' is an unknown zoom value.'); '\' is an unknown zoom value.');
return; return;
} }
} this._setScaleUpdatePages(scale, value, resetAutoSettings, noScroll);
this.currentScaleValue = value;
if (scale === this.currentScale) {
return;
}
for (var i = 0, ii = pages.length; i < ii; i++) {
pages[i].update(scale);
}
this.currentScale = scale;
if (!noScroll) {
currentPage.scrollIntoView();
}
var event = document.createEvent('UIEvents');
event.initUIEvent('scalechange', false, false, window, 0);
event.scale = scale;
event.resetAutoSettings = resetAutoSettings;
window.dispatchEvent(event);
if (!number) {
selectScaleOption(value); selectScaleOption(value);
} }
}, },