Merge remote-tracking branch 'upstream/master' into refactor

This commit is contained in:
Kalervo Kujala 2012-01-29 20:20:24 +02:00
commit f6cb7b2a24
2 changed files with 22 additions and 6 deletions

View File

@ -224,3 +224,10 @@
} }
}); });
})(); })();
// Check console compatability
(function checkConsoleCompatibility() {
if (typeof console == 'undefined') {
console = {log: function() {}};
}
})();

View File

@ -6,6 +6,7 @@
var kDefaultURL = 'compressed.tracemonkey-pldi-09.pdf'; var kDefaultURL = 'compressed.tracemonkey-pldi-09.pdf';
var kDefaultScale = 'auto'; var kDefaultScale = 'auto';
var kDefaultScaleDelta = 1.1; var kDefaultScaleDelta = 1.1;
var kUnknownScale = 0;
var kCacheSize = 20; var kCacheSize = 20;
var kCssUnits = 96.0 / 72.0; var kCssUnits = 96.0 / 72.0;
var kScrollbarPadding = 40; var kScrollbarPadding = 40;
@ -148,7 +149,7 @@ var currentPageNumber = 1;
var PDFView = { var PDFView = {
pages: [], pages: [],
thumbnails: [], thumbnails: [],
currentScale: 0, currentScale: kUnknownScale,
currentScaleValue: null, currentScaleValue: null,
initialBookmark: document.location.hash.substring(1), initialBookmark: document.location.hash.substring(1),
@ -203,12 +204,12 @@ var PDFView = {
zoomIn: function pdfViewZoomIn() { zoomIn: function pdfViewZoomIn() {
var newScale = Math.min(kMaxScale, this.currentScale * kDefaultScaleDelta); var newScale = Math.min(kMaxScale, this.currentScale * kDefaultScaleDelta);
this.setScale(newScale, true); this.parseScale(newScale, true);
}, },
zoomOut: function pdfViewZoomOut() { zoomOut: function pdfViewZoomOut() {
var newScale = Math.max(kMinScale, this.currentScale / kDefaultScaleDelta); var newScale = Math.max(kMinScale, this.currentScale / kDefaultScaleDelta);
this.setScale(newScale, true); this.parseScale(newScale, true);
}, },
set page(val) { set page(val) {
@ -452,10 +453,16 @@ var PDFView = {
} }
else if (storedHash) else if (storedHash)
this.setHash(storedHash); this.setHash(storedHash);
else { else if (scale) {
this.parseScale(scale || kDefaultScale, true); this.parseScale(scale, true);
this.page = 1; this.page = 1;
} }
if (PDFView.currentScale === kUnknownScale) {
// Scale was not initialized: invalid bookmark or scale was not specified.
// Setting the default one.
this.parseScale(kDefaultScale, true);
}
}, },
setHash: function pdfViewSetHash(hash) { setHash: function pdfViewSetHash(hash) {
@ -742,6 +749,8 @@ var PageView = function pageView(container, content, id, pageWidth, pageHeight,
if (scale && scale !== PDFView.currentScale) if (scale && scale !== PDFView.currentScale)
PDFView.parseScale(scale, true); PDFView.parseScale(scale, true);
else if (PDFView.currentScale === kUnknownScale)
PDFView.parseScale(kDefaultScale, true);
setTimeout(function pageViewScrollIntoViewRelayout() { setTimeout(function pageViewScrollIntoViewRelayout() {
// letting page to re-layout before scrolling // letting page to re-layout before scrolling
@ -1267,7 +1276,7 @@ window.addEventListener('keydown', function keydown(evt) {
handled = true; handled = true;
break; break;
case 48: // '0' case 48: // '0'
PDFView.setScale(kDefaultScale, true); PDFView.parseScale(kDefaultScale, true);
handled = true; handled = true;
break; break;
case 37: // left arrow case 37: // left arrow