1
0
Fork 0
mirror of https://github.com/mozilla/pdf.js.git synced 2025-04-20 15:18:08 +02:00

Update loading bar during onprogress of range requests

This commit is contained in:
Mack Duan 2013-04-19 13:53:22 -07:00
parent 8e4d9e9aa0
commit c5084d9e8a
4 changed files with 48 additions and 7 deletions

View file

@ -941,15 +941,30 @@ var PDFView = {
}
var pdfDataRangeTransport = {
listeners: [],
rangeListeners: [],
progressListeners: [],
addListener: function PdfDataRangeTransport_addListener(listener) {
this.listeners.push(listener);
addRangeListener: function PdfDataRangeTransport_addRangeListener(
listener) {
this.rangeListeners.push(listener);
},
addProgressListener: function PdfDataRangeTransport_addProgressListener(
listener) {
this.progressListeners.push(listener);
},
onDataRange: function PdfDataRangeTransport_onDataRange(begin, chunk) {
for (var i = 0, n = this.listeners.length; i < n; ++i) {
this.listeners[i](begin, chunk);
var listeners = this.rangeListeners;
for (var i = 0, n = listeners.length; i < n; ++i) {
listeners[i](begin, chunk);
}
},
onDataProgress: function PdfDataRangeTransport_onDataProgress(loaded) {
var listeners = this.progressListeners;
for (var i = 0, n = listeners.length; i < n; ++i) {
listeners[i](loaded);
}
},
@ -973,6 +988,9 @@ var PDFView = {
case 'range':
pdfDataRangeTransport.onDataRange(args.begin, args.chunk);
break;
case 'rangeProgress':
pdfDataRangeTransport.onDataProgress(args.loaded);
break;
case 'progress':
PDFView.progress(args.loaded / args.total);
break;