Skip to content

Commit

Permalink
Adds size and highWaterMark.
Browse files Browse the repository at this point in the history
  • Loading branch information
mukulmishra18 committed Jul 7, 2017
1 parent a13a4f8 commit 70909a2
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 14 deletions.
13 changes: 10 additions & 3 deletions src/core/worker.js
Original file line number Diff line number Diff line change
Expand Up @@ -234,7 +234,7 @@ PDFNetworkStream.prototype = {
function PDFNetworkStreamReader(networkStream) {
this._msgHandler = networkStream.msgHandler;
this._data = networkStream.data;
this.onProgress = null;
this.onReaderDocProgress = null;

this._contentLength = null;
this._isRangeSupported = false;
Expand Down Expand Up @@ -567,6 +567,7 @@ var WorkerMessageHandler = {
// This context is actually holds references on pdfManager and handler,
// until the latter is destroyed.
var pdfManager;
var fullRequest;
var terminated = false;
var cancelXHRs = null;
var WorkerTasks = [];
Expand Down Expand Up @@ -657,13 +658,13 @@ var WorkerMessageHandler = {
return pdfManagerCapability.promise;
}

var fullRequest = pdfStream.getFullReader();
fullRequest = pdfStream.getFullReader();
fullRequest.headersReady.then(function () {
if (!fullRequest.isStreamingSupported ||
!fullRequest.isRangeSupported) {
// If stream or range are disabled, it's our only way to report
// loading progress.
fullRequest.onProgress = function (evt) {
fullRequest.onReaderDocProgress = function (evt) {
handler.send('DocProgress', {
loaded: evt.loaded,
total: evt.total,
Expand Down Expand Up @@ -834,6 +835,12 @@ var WorkerMessageHandler = {
}).then(pdfManagerReady, onFailure);
}

handler.on('ReaderDocProgress', function(data) {
if (fullRequest.onReaderDocProgress) {
fullRequest.onReaderDocProgress(data);
}
});

handler.on('GetPage', function wphSetupGetPage(data) {
return pdfManager.getPage(data.pageIndex).then(function(page) {
var rotatePromise = pdfManager.ensure(page, 'rotate');
Expand Down
30 changes: 20 additions & 10 deletions src/display/api.js
Original file line number Diff line number Diff line change
Expand Up @@ -1232,8 +1232,7 @@ var PDFWorker = (function PDFWorkerClosure() {
// pdf.worker.js file is needed.
if (typeof PDFJSDev === 'undefined' || !PDFJSDev.test('PRODUCTION')) {
if (typeof SystemJS === 'object') {
Promise.resolve(SystemJS.import('pdfjs/core/worker')).
then((worker) => {
SystemJS.import('pdfjs/core/worker').then((worker) => {
WorkerMessageHandler = worker.WorkerMessageHandler;
fakeWorkerFilesLoadedCapability.resolve(WorkerMessageHandler);
});
Expand Down Expand Up @@ -1523,7 +1522,6 @@ var WorkerTransport = (function WorkerTransportClosure() {

this._PDFNetworkStream = null;
this._fullReader = null;
this._rangeReader = null;

this.pageCache = [];
this.pagePromises = [];
Expand Down Expand Up @@ -1627,23 +1625,35 @@ var WorkerTransport = (function WorkerTransportClosure() {

messageHandler.on('ReaderHeadersReady', function(data) {
let headersCapability = createPromiseCapability();
this._fullReader.headersReady.then(() => {
let fullReader = this._fullReader;

fullReader.headersReady.then(() => {
if (!fullReader.isStreamingSupported ||
!fullReader.isRangeSupported) {
fullReader.onProgress = function(evt) {
messageHandler.send('ReaderDocProgress', {
loaded: evt.loaded,
total: evt.total,
});
};
}

headersCapability.resolve({
isStreamingSupported: this._fullReader.isStreamingSupported,
isRangeSupported: this._fullReader.isRangeSupported,
contentLength: this._fullReader.contentLength,
isStreamingSupported: fullReader.isStreamingSupported,
isRangeSupported: fullReader.isRangeSupported,
contentLength: fullReader.contentLength,
});
});

return headersCapability.promise;
}, this);

messageHandler.on('GetRangeReader', function(data, sink) {
this._rangeReader =
let _rangeReader =
this._PDFNetworkStream.getRangeReader(data.begin, data.end);

sink.onPull = () => {
this._rangeReader.read().then(function({ value, done, }) {
_rangeReader.read().then(function({ value, done, }) {
if (done) {
sink.close();
return;
Expand All @@ -1653,7 +1663,7 @@ var WorkerTransport = (function WorkerTransportClosure() {
};

sink.onCancel = (reason) => {
this._rangeReader.cancel(reason);
_rangeReader.cancel(reason);
};
}, this);

Expand Down
2 changes: 1 addition & 1 deletion src/worker_loader.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,6 @@ importScripts('./shared/compatibility.js');
importScripts('../node_modules/systemjs/dist/system.js');
importScripts('../systemjs.config.js');

Promise.resolve(SystemJS.import('pdfjs/core/worker')).then(function () {
SystemJS.import('pdfjs/core/worker').then(function () {
// Worker is loaded at this point.
});

0 comments on commit 70909a2

Please sign in to comment.