commit
ab89d8aa20
@ -62,7 +62,7 @@ function loadDocument(aWindow, aDocumentUrl) {
|
||||
}
|
||||
|
||||
let WebProgressListener = {
|
||||
init: function(aWindow, aUrl) {
|
||||
init: function WebProgressListenerInit(aWindow, aUrl) {
|
||||
this._locationHasChanged = false;
|
||||
this._documentUrl = aUrl;
|
||||
|
||||
|
@ -232,7 +232,7 @@ function readFontIndexData(aStream, aIsByte) {
|
||||
return objects;
|
||||
}
|
||||
|
||||
var Type2Parser = function(aFilePath) {
|
||||
var Type2Parser = function type2Parser(aFilePath) {
|
||||
var font = new Dict();
|
||||
|
||||
var xhr = new XMLHttpRequest();
|
||||
@ -292,7 +292,7 @@ var Type2Parser = function(aFilePath) {
|
||||
}
|
||||
}
|
||||
|
||||
this.parse = function(aStream) {
|
||||
this.parse = function type2ParserParse(aStream) {
|
||||
font.set('major', aStream.getByte());
|
||||
font.set('minor', aStream.getByte());
|
||||
font.set('hdrSize', aStream.getByte());
|
||||
|
@ -4,7 +4,7 @@
|
||||
'use strict';
|
||||
|
||||
// Checking if the typed arrays are supported
|
||||
(function() {
|
||||
(function checkTypedArrayCompatibility() {
|
||||
if (typeof Uint8Array !== 'undefined')
|
||||
return;
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
return this.slice(start, end);
|
||||
}
|
||||
|
||||
function set_function(array, offset) {
|
||||
function setArrayOffset(array, offset) {
|
||||
if (arguments.length < 2)
|
||||
offset = 0;
|
||||
for (var i = 0, n = array.length; i < n; ++i, ++offset)
|
||||
@ -31,7 +31,7 @@
|
||||
result.subarray = subarray;
|
||||
result.buffer = result;
|
||||
result.byteLength = result.length;
|
||||
result.set = set_function;
|
||||
result.set = setArrayOffset;
|
||||
|
||||
if (typeof arg1 === 'object' && arg1.buffer)
|
||||
result.buffer = arg1.buffer;
|
||||
@ -49,31 +49,31 @@
|
||||
})();
|
||||
|
||||
// Object.create() ?
|
||||
(function() {
|
||||
(function checkObjectCreateCompatibility() {
|
||||
if (typeof Object.create !== 'undefined')
|
||||
return;
|
||||
|
||||
Object.create = function(proto) {
|
||||
var constructor = function() {};
|
||||
Object.create = function objectCreate(proto) {
|
||||
var constructor = function objectCreateConstructor() {};
|
||||
constructor.prototype = proto;
|
||||
return new constructor();
|
||||
};
|
||||
})();
|
||||
|
||||
// Object.defineProperty() ?
|
||||
(function() {
|
||||
(function checkObjectDefinePropertyCompatibility() {
|
||||
if (typeof Object.defineProperty !== 'undefined')
|
||||
return;
|
||||
|
||||
Object.defineProperty = function(obj, name, def) {
|
||||
Object.defineProperty = function objectDefineProperty(obj, name, def) {
|
||||
delete obj[name];
|
||||
if ('get' in def)
|
||||
obj.__defineGetter__(name, def['get']);
|
||||
if ('set' in def)
|
||||
obj.__defineSetter__(name, def['set']);
|
||||
if ('value' in def) {
|
||||
obj.__defineSetter__(name, function(value) {
|
||||
this.__defineGetter__(name, function() {
|
||||
obj.__defineSetter__(name, function objectDefinePropertySetter(value) {
|
||||
this.__defineGetter__(name, function objectDefinePropertyGetter() {
|
||||
return value;
|
||||
});
|
||||
return value;
|
||||
@ -84,7 +84,7 @@
|
||||
})();
|
||||
|
||||
// No XMLHttpRequest.response ?
|
||||
(function() {
|
||||
(function checkXMLHttpRequestResponseCompatibility() {
|
||||
var xhrPrototype = XMLHttpRequest.prototype;
|
||||
if ('response' in xhrPrototype ||
|
||||
'mozResponseArrayBuffer' in xhrPrototype ||
|
||||
@ -94,7 +94,7 @@
|
||||
// IE ?
|
||||
if (typeof VBArray !== 'undefined') {
|
||||
Object.defineProperty(xhrPrototype, 'response', {
|
||||
get: function() {
|
||||
get: function xmlHttpRequestResponseGet() {
|
||||
return new Uint8Array(new VBArray(this.responseBody).toArray());
|
||||
}
|
||||
});
|
||||
@ -122,14 +122,14 @@
|
||||
})();
|
||||
|
||||
// window.btoa (base64 encode function) ?
|
||||
(function() {
|
||||
(function checkWindowBtoaCompatibility() {
|
||||
if ('btoa' in window)
|
||||
return;
|
||||
|
||||
var digits =
|
||||
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
|
||||
|
||||
window.btoa = function(chars) {
|
||||
window.btoa = function windowBtoa(chars) {
|
||||
var buffer = '';
|
||||
var i, n;
|
||||
for (i = 0, n = chars.length; i < n; i += 3) {
|
||||
@ -147,13 +147,13 @@
|
||||
})();
|
||||
|
||||
// Function.prototype.bind ?
|
||||
(function() {
|
||||
(function checkFunctionPrototypeBindCompatibility() {
|
||||
if (typeof Function.prototype.bind !== 'undefined')
|
||||
return;
|
||||
|
||||
Function.prototype.bind = function(obj) {
|
||||
Function.prototype.bind = function functionPrototypeBind(obj) {
|
||||
var fn = this, headArgs = Array.prototype.slice.call(arguments, 1);
|
||||
var bound = function() {
|
||||
var bound = function functionPrototypeBindBound() {
|
||||
var args = Array.prototype.concat.apply(headArgs, arguments);
|
||||
return fn.apply(obj, args);
|
||||
};
|
||||
@ -162,15 +162,15 @@
|
||||
})();
|
||||
|
||||
// IE9 text/html data URI
|
||||
(function() {
|
||||
(function checkDocumentDocumentModeCompatibility() {
|
||||
if (document.documentMode !== 9)
|
||||
return;
|
||||
// overriding the src property
|
||||
var originalSrcDescriptor = Object.getOwnPropertyDescriptor(
|
||||
HTMLIFrameElement.prototype, 'src');
|
||||
Object.defineProperty(HTMLIFrameElement.prototype, 'src', {
|
||||
get: function() { return this.$src; },
|
||||
set: function(src) {
|
||||
get: function htmlIFrameElementPrototypeSrcGet() { return this.$src; },
|
||||
set: function htmlIFrameElementPrototypeSrcSet(src) {
|
||||
this.$src = src;
|
||||
if (src.substr(0, 14) != 'data:text/html') {
|
||||
originalSrcDescriptor.set.call(this, src);
|
||||
@ -179,7 +179,7 @@
|
||||
// for text/html, using blank document and then
|
||||
// document's open, write, and close operations
|
||||
originalSrcDescriptor.set.call(this, 'about:blank');
|
||||
setTimeout((function() {
|
||||
setTimeout((function htmlIFrameElementPrototypeSrcOpenWriteClose() {
|
||||
var doc = this.contentDocument;
|
||||
doc.open('text/html');
|
||||
doc.write(src.substr(src.indexOf(',') + 1));
|
||||
@ -189,3 +189,4 @@
|
||||
enumerable: true
|
||||
});
|
||||
})();
|
||||
|
||||
|
@ -13,9 +13,9 @@ var kMinScale = 0.25;
|
||||
var kMaxScale = 4.0;
|
||||
|
||||
|
||||
var Cache = function(size) {
|
||||
var Cache = function cacheCache(size) {
|
||||
var data = [];
|
||||
this.push = function(view) {
|
||||
this.push = function cachePush(view) {
|
||||
data.push(view);
|
||||
if (data.length > size)
|
||||
data.shift().update();
|
||||
@ -31,7 +31,7 @@ var PDFView = {
|
||||
currentScale: kDefaultScale,
|
||||
initialBookmark: document.location.hash.substring(1),
|
||||
|
||||
setScale: function(val, resetAutoSettings) {
|
||||
setScale: function pdfViewSetScale(val, resetAutoSettings) {
|
||||
var pages = this.pages;
|
||||
for (var i = 0; i < pages.length; i++)
|
||||
pages[i].update(val * kCssUnits);
|
||||
@ -47,7 +47,7 @@ var PDFView = {
|
||||
window.dispatchEvent(event);
|
||||
},
|
||||
|
||||
parseScale: function(value, resetAutoSettings) {
|
||||
parseScale: function pdfViewParseScale(value, resetAutoSettings) {
|
||||
if ('custom' == value)
|
||||
return;
|
||||
|
||||
@ -72,12 +72,12 @@ var PDFView = {
|
||||
}
|
||||
},
|
||||
|
||||
zoomIn: function() {
|
||||
zoomIn: function pdfViewZoomIn() {
|
||||
var newScale = Math.min(kMaxScale, this.currentScale * kDefaultScaleDelta);
|
||||
this.setScale(newScale, true);
|
||||
},
|
||||
|
||||
zoomOut: function() {
|
||||
zoomOut: function pdfViewZoomOut() {
|
||||
var newScale = Math.max(kMinScale, this.currentScale / kDefaultScaleDelta);
|
||||
this.setScale(newScale, true);
|
||||
},
|
||||
@ -104,7 +104,7 @@ var PDFView = {
|
||||
return currentPageNumber;
|
||||
},
|
||||
|
||||
open: function(url, scale) {
|
||||
open: function pdfViewOpen(url, scale) {
|
||||
if (url.indexOf('http') == 0)
|
||||
return;
|
||||
|
||||
@ -124,7 +124,7 @@ var PDFView = {
|
||||
});
|
||||
},
|
||||
|
||||
navigateTo: function(dest) {
|
||||
navigateTo: function pdfViewNavigateTo(dest) {
|
||||
if (typeof dest === 'string')
|
||||
dest = this.destinations[dest];
|
||||
if (!(dest instanceof Array))
|
||||
@ -140,7 +140,7 @@ var PDFView = {
|
||||
}
|
||||
},
|
||||
|
||||
getDestinationHash: function(dest) {
|
||||
getDestinationHash: function pdfViewGetDestinationHash(dest) {
|
||||
if (typeof dest === 'string')
|
||||
return '#' + escape(dest);
|
||||
if (dest instanceof Array) {
|
||||
@ -155,18 +155,18 @@ var PDFView = {
|
||||
return '';
|
||||
},
|
||||
|
||||
error: function() {
|
||||
error: function pdfViewError() {
|
||||
var loadingIndicator = document.getElementById('loading');
|
||||
loadingIndicator.innerHTML = 'Error';
|
||||
},
|
||||
|
||||
progress: function(level) {
|
||||
progress: function pdfViewProgress(level) {
|
||||
var percent = Math.round(level * 100);
|
||||
var loadingIndicator = document.getElementById('loading');
|
||||
loadingIndicator.innerHTML = 'Loading... ' + percent + '%';
|
||||
},
|
||||
|
||||
load: function(data, scale) {
|
||||
load: function pdfViewLoad(data, scale) {
|
||||
var loadingIndicator = document.getElementById('loading');
|
||||
loadingIndicator.style.display = 'none';
|
||||
|
||||
@ -218,7 +218,7 @@ var PDFView = {
|
||||
this.page = 1;
|
||||
},
|
||||
|
||||
setHash: function(hash) {
|
||||
setHash: function pdfViewSetHash(hash) {
|
||||
if (!hash)
|
||||
return;
|
||||
|
||||
@ -233,7 +233,7 @@ var PDFView = {
|
||||
PDFView.navigateTo(unescape(hash));
|
||||
},
|
||||
|
||||
switchSidebarView: function(view) {
|
||||
switchSidebarView: function pdfViewSwitchSidebarView(view) {
|
||||
var thumbsScrollView = document.getElementById('sidebarScrollView');
|
||||
var outlineScrollView = document.getElementById('outlineScrollView');
|
||||
var thumbsSwitchButton = document.getElementById('thumbsSwitch');
|
||||
@ -254,7 +254,7 @@ var PDFView = {
|
||||
}
|
||||
},
|
||||
|
||||
getVisiblePages: function() {
|
||||
getVisiblePages: function pdfViewGetVisiblePages() {
|
||||
var pages = this.pages;
|
||||
var kBottomMargin = 10;
|
||||
var visiblePages = [];
|
||||
@ -282,7 +282,7 @@ var PDFView = {
|
||||
}
|
||||
};
|
||||
|
||||
var PageView = function(container, content, id, pageWidth, pageHeight,
|
||||
var PageView = function pageView(container, content, id, pageWidth, pageHeight,
|
||||
stats, navigateTo) {
|
||||
this.id = id;
|
||||
this.content = content;
|
||||
@ -303,7 +303,7 @@ var PageView = function(container, content, id, pageWidth, pageHeight,
|
||||
container.appendChild(anchor);
|
||||
container.appendChild(div);
|
||||
|
||||
this.update = function(scale) {
|
||||
this.update = function pageViewUpdate(scale) {
|
||||
this.scale = scale || this.scale;
|
||||
div.style.width = (this.width * this.scale) + 'px';
|
||||
div.style.height = (this.height * this.scale) + 'px';
|
||||
@ -316,7 +316,7 @@ var PageView = function(container, content, id, pageWidth, pageHeight,
|
||||
function setupLinks(content, scale) {
|
||||
function bindLink(link, dest) {
|
||||
link.href = PDFView.getDestinationHash(dest);
|
||||
link.onclick = function() {
|
||||
link.onclick = function pageViewSetupLinksOnclick() {
|
||||
if (dest)
|
||||
PDFView.navigateTo(dest);
|
||||
return false;
|
||||
@ -337,7 +337,7 @@ var PageView = function(container, content, id, pageWidth, pageHeight,
|
||||
}
|
||||
}
|
||||
|
||||
this.scrollIntoView = function(dest) {
|
||||
this.scrollIntoView = function pageViewScrollIntoView(dest) {
|
||||
if (!dest) {
|
||||
div.scrollIntoView(true);
|
||||
return;
|
||||
@ -389,7 +389,7 @@ var PageView = function(container, content, id, pageWidth, pageHeight,
|
||||
if (scale)
|
||||
PDFView.setScale(scale, true);
|
||||
|
||||
setTimeout(function() {
|
||||
setTimeout(function pageViewScrollIntoViewRelayout() {
|
||||
// letting page to re-layout before scrolling
|
||||
var scale = PDFView.currentScale;
|
||||
var x = Math.min(boundingRect[0].x, boundingRect[1].x);
|
||||
@ -410,7 +410,7 @@ var PageView = function(container, content, id, pageWidth, pageHeight,
|
||||
}, 0);
|
||||
};
|
||||
|
||||
this.draw = function() {
|
||||
this.draw = function pageviewDraw() {
|
||||
if (div.hasChildNodes()) {
|
||||
this.updateStats();
|
||||
return false;
|
||||
@ -441,7 +441,7 @@ var PageView = function(container, content, id, pageWidth, pageHeight,
|
||||
return true;
|
||||
};
|
||||
|
||||
this.updateStats = function() {
|
||||
this.updateStats = function pageViewUpdateStats() {
|
||||
var t1 = stats.compile, t2 = stats.fonts, t3 = stats.render;
|
||||
var str = 'Time to compile/fonts/render: ' +
|
||||
(t1 - stats.begin) + '/' + (t2 - t1) + '/' + (t3 - t2) + ' ms';
|
||||
@ -449,7 +449,7 @@ var PageView = function(container, content, id, pageWidth, pageHeight,
|
||||
};
|
||||
};
|
||||
|
||||
var ThumbnailView = function(container, page, id, pageRatio) {
|
||||
var ThumbnailView = function thumbnailView(container, page, id, pageRatio) {
|
||||
var anchor = document.createElement('a');
|
||||
anchor.href = '#' + id;
|
||||
anchor.onclick = function stopNivigation() {
|
||||
@ -464,7 +464,7 @@ var ThumbnailView = function(container, page, id, pageRatio) {
|
||||
anchor.appendChild(div);
|
||||
container.appendChild(anchor);
|
||||
|
||||
this.draw = function() {
|
||||
this.draw = function thumbnailViewDraw() {
|
||||
if (div.hasChildNodes())
|
||||
return;
|
||||
|
||||
@ -495,16 +495,16 @@ var ThumbnailView = function(container, page, id, pageRatio) {
|
||||
div.style.height = (view.height * scaleY) + 'px';
|
||||
div.style.lineHeight = (view.height * scaleY) + 'px';
|
||||
|
||||
page.startRendering(ctx, function() { });
|
||||
page.startRendering(ctx, function thumbnailViewDrawStartRendering() {});
|
||||
};
|
||||
};
|
||||
|
||||
var DocumentOutlineView = function(outline) {
|
||||
var DocumentOutlineView = function documentOutlineView(outline) {
|
||||
var outlineView = document.getElementById('outlineView');
|
||||
|
||||
function bindItemLink(domObj, item) {
|
||||
domObj.href = PDFView.getDestinationHash(item.dest);
|
||||
domObj.onclick = function(e) {
|
||||
domObj.onclick = function documentOutlineViewOnclick(e) {
|
||||
PDFView.navigateTo(item.dest);
|
||||
return false;
|
||||
};
|
||||
@ -535,7 +535,7 @@ var DocumentOutlineView = function(outline) {
|
||||
}
|
||||
};
|
||||
|
||||
window.addEventListener('load', function(evt) {
|
||||
window.addEventListener('load', function webViewerLoad(evt) {
|
||||
var params = document.location.search.substring(1).split('&');
|
||||
for (var i = 0; i < params.length; i++) {
|
||||
var param = params[i].split('=');
|
||||
@ -550,15 +550,15 @@ window.addEventListener('load', function(evt) {
|
||||
document.getElementById('fileInput').value = null;
|
||||
}, true);
|
||||
|
||||
window.addEventListener('pdfload', function(evt) {
|
||||
window.addEventListener('pdfload', function webViewerPdfload(evt) {
|
||||
PDFView.load(evt.detail);
|
||||
}, true);
|
||||
|
||||
window.addEventListener('pdfprogress', function(evt) {
|
||||
window.addEventListener('pdfprogress', function webViewerPdfProgress(evt) {
|
||||
PDFView.progress(evt.detail);
|
||||
}, true);
|
||||
|
||||
window.addEventListener('pdferror', function(evt) {
|
||||
window.addEventListener('pdferror', function webViewerPdfError(evt) {
|
||||
PDFView.error();
|
||||
}, true);
|
||||
|
||||
@ -582,29 +582,29 @@ function updateViewarea() {
|
||||
PDFView.page = firstPage.id;
|
||||
}
|
||||
|
||||
window.addEventListener('scroll', function onscroll(evt) {
|
||||
window.addEventListener('scroll', function webViewerScroll(evt) {
|
||||
updateViewarea();
|
||||
}, true);
|
||||
|
||||
window.addEventListener('resize', function onscroll(evt) {
|
||||
window.addEventListener('resize', function webViewerResize(evt) {
|
||||
if (document.getElementById('pageWidthOption').selected ||
|
||||
document.getElementById('pageFitOption').selected)
|
||||
PDFView.parseScale(document.getElementById('scaleSelect').value);
|
||||
updateViewarea();
|
||||
});
|
||||
|
||||
window.addEventListener('hashchange', function(evt) {
|
||||
window.addEventListener('hashchange', function webViewerHashchange(evt) {
|
||||
PDFView.setHash(document.location.hash.substring(1));
|
||||
});
|
||||
|
||||
window.addEventListener('change', function(evt) {
|
||||
window.addEventListener('change', function webViewerChange(evt) {
|
||||
var files = evt.target.files;
|
||||
if (!files || files.length == 0)
|
||||
return;
|
||||
|
||||
// Read the local file into a Uint8Array.
|
||||
var fileReader = new FileReader();
|
||||
fileReader.onload = function(evt) {
|
||||
fileReader.onload = function webViewerChangeFileReaderOnload(evt) {
|
||||
var data = evt.target.result;
|
||||
var buffer = new ArrayBuffer(data.length);
|
||||
var uint8Array = new Uint8Array(buffer);
|
||||
@ -622,7 +622,7 @@ window.addEventListener('change', function(evt) {
|
||||
document.title = file.name;
|
||||
}, true);
|
||||
|
||||
window.addEventListener('transitionend', function(evt) {
|
||||
window.addEventListener('transitionend', function webViewerTransitionend(evt) {
|
||||
var pageIndex = 0;
|
||||
var pagesCount = PDFView.pages.length;
|
||||
|
||||
|
@ -9,16 +9,15 @@
|
||||
|
||||
|
||||
var pdfDoc;
|
||||
window.onload = function() {
|
||||
window.onload = function webViewerWorkerOnload() {
|
||||
window.canvas = document.getElementById("canvas");
|
||||
window.ctx = canvas.getContext("2d");
|
||||
|
||||
pdfDoc = new WorkerPDFDoc(window.canvas);
|
||||
pdfDoc.onChangePage = function(numPage) {
|
||||
pdfDoc.onChangePage = function webViewerWorkerOnChangePage(numPage) {
|
||||
document.getElementById("pageNumber").value = numPage;
|
||||
}
|
||||
// pdfDoc.open("canvas.pdf", function() {
|
||||
pdfDoc.open("compressed.tracemonkey-pldi-09.pdf", function() {
|
||||
pdfDoc.open("compressed.tracemonkey-pldi-09.pdf", function webViewerWorkerOpen() {
|
||||
document.getElementById("numPages").innerHTML = "/" + pdfDoc.numPages;
|
||||
})
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user