Skip to content

Remove support for the scope parameter in the MessageHandler.on method #11110

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Sep 1, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 32 additions & 33 deletions src/display/api.js
Original file line number Diff line number Diff line change
Expand Up @@ -1875,7 +1875,7 @@ class WorkerTransport {
setupMessageHandler() {
const { messageHandler, loadingTask, } = this;

messageHandler.on('GetReader', function(data, sink) {
messageHandler.on('GetReader', (data, sink) => {
assert(this._networkStream);
this._fullReader = this._networkStream.getFullReader();
this._fullReader.onProgress = (evt) => {
Expand All @@ -1902,9 +1902,9 @@ class WorkerTransport {
sink.onCancel = (reason) => {
this._fullReader.cancel(reason);
};
}, this);
});

messageHandler.on('ReaderHeadersReady', function(data) {
messageHandler.on('ReaderHeadersReady', (data) => {
const headersCapability = createPromiseCapability();
const fullReader = this._fullReader;
fullReader.headersReady.then(() => {
Expand Down Expand Up @@ -1932,9 +1932,9 @@ class WorkerTransport {
}, headersCapability.reject);

return headersCapability.promise;
}, this);
});

messageHandler.on('GetRangeReader', function(data, sink) {
messageHandler.on('GetRangeReader', (data, sink) => {
assert(this._networkStream);
const rangeReader =
this._networkStream.getRangeReader(data.begin, data.end);
Expand Down Expand Up @@ -1970,14 +1970,14 @@ class WorkerTransport {
sink.onCancel = (reason) => {
rangeReader.cancel(reason);
};
}, this);
});

messageHandler.on('GetDoc', function({ pdfInfo, }) {
messageHandler.on('GetDoc', ({ pdfInfo, }) => {
this._numPages = pdfInfo.numPages;
loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, this));
}, this);
});

messageHandler.on('PasswordRequest', function(exception) {
messageHandler.on('PasswordRequest', (exception) => {
this._passwordCapability = createPromiseCapability();

if (loadingTask.onPassword) {
Expand All @@ -1996,34 +1996,34 @@ class WorkerTransport {
new PasswordException(exception.message, exception.code));
}
return this._passwordCapability.promise;
}, this);
});

messageHandler.on('PasswordException', function(exception) {
loadingTask._capability.reject(
new PasswordException(exception.message, exception.code));
}, this);
});

messageHandler.on('InvalidPDF', function(exception) {
loadingTask._capability.reject(
new InvalidPDFException(exception.message));
}, this);
});

messageHandler.on('MissingPDF', function(exception) {
loadingTask._capability.reject(
new MissingPDFException(exception.message));
}, this);
});

messageHandler.on('UnexpectedResponse', function(exception) {
loadingTask._capability.reject(
new UnexpectedResponseException(exception.message, exception.status));
}, this);
});

messageHandler.on('UnknownError', function(exception) {
loadingTask._capability.reject(
new UnknownErrorException(exception.message, exception.details));
}, this);
});

messageHandler.on('DataLoaded', function(data) {
messageHandler.on('DataLoaded', (data) => {
// For consistency: Ensure that progress is always reported when the
// entire PDF file has been loaded, regardless of how it was fetched.
if (loadingTask.onProgress) {
Expand All @@ -2033,19 +2033,19 @@ class WorkerTransport {
});
}
this.downloadInfoCapability.resolve(data);
}, this);
});

messageHandler.on('StartRenderPage', function(data) {
messageHandler.on('StartRenderPage', (data) => {
if (this.destroyed) {
return; // Ignore any pending requests if the worker was terminated.
}

const page = this.pageCache[data.pageIndex];
page._stats.timeEnd('Page Request');
page._startRenderPage(data.transparency, data.intent);
}, this);
});

messageHandler.on('commonobj', function(data) {
messageHandler.on('commonobj', (data) => {
if (this.destroyed) {
return; // Ignore any pending requests if the worker was terminated.
}
Expand Down Expand Up @@ -2100,9 +2100,9 @@ class WorkerTransport {
default:
throw new Error(`Got unknown common object type ${type}`);
}
}, this);
});

messageHandler.on('obj', function(data) {
messageHandler.on('obj', (data) => {
if (this.destroyed) {
// Ignore any pending requests if the worker was terminated.
return undefined;
Expand Down Expand Up @@ -2149,9 +2149,9 @@ class WorkerTransport {
throw new Error(`Got unknown object type ${type}`);
}
return undefined;
}, this);
});

messageHandler.on('DocProgress', function(data) {
messageHandler.on('DocProgress', (data) => {
if (this.destroyed) {
return; // Ignore any pending requests if the worker was terminated.
}
Expand All @@ -2162,11 +2162,12 @@ class WorkerTransport {
total: data.total,
});
}
}, this);
});

messageHandler.on('UnsupportedFeature', this._onUnsupportedFeature, this);
messageHandler.on('UnsupportedFeature',
this._onUnsupportedFeature.bind(this));

messageHandler.on('JpegDecode', function(data) {
messageHandler.on('JpegDecode', (data) => {
if (this.destroyed) {
return Promise.reject(new Error('Worker was destroyed'));
}
Expand Down Expand Up @@ -2227,16 +2228,14 @@ class WorkerTransport {
};
img.src = imageUrl;
});
}, this);
});

messageHandler.on('FetchBuiltInCMap', function(data) {
messageHandler.on('FetchBuiltInCMap', (data) => {
if (this.destroyed) {
return Promise.reject(new Error('Worker was destroyed'));
}
return this.CMapReaderFactory.fetch({
name: data.name,
});
}, this);
return this.CMapReaderFactory.fetch(data);
});
}

_onUnsupportedFeature({ featureId, }) {
Expand Down
16 changes: 8 additions & 8 deletions src/shared/message_handler.js
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,11 @@ const StreamKind = {
START_COMPLETE: 8,
};

async function resolveCall(fn, args, thisArg = null) {
async function resolveCall(fn, args) {
if (!fn) {
return undefined;
}
return fn.apply(thisArg, args);
return fn.apply(null, args);
}

function wrapReason(reason) {
Expand Down Expand Up @@ -100,8 +100,8 @@ function MessageHandler(sourceName, targetName, comObj) {
if (data.callbackId) {
let sourceName = this.sourceName;
let targetName = data.sourceName;
Promise.resolve().then(function () {
return action[0].call(action[1], data.data);
Promise.resolve().then(function() {
return action(data.data);
}).then((result) => {
comObj.postMessage({
sourceName,
Expand All @@ -122,7 +122,7 @@ function MessageHandler(sourceName, targetName, comObj) {
} else if (data.streamId) {
this._createStreamSink(data);
} else {
action[0].call(action[1], data.data);
action(data.data);
}
} else {
throw new Error(`Unknown action from worker: ${data.action}`);
Expand All @@ -132,12 +132,12 @@ function MessageHandler(sourceName, targetName, comObj) {
}

MessageHandler.prototype = {
on(actionName, handler, scope) {
on(actionName, handler) {
var ah = this.actionHandler;
if (ah[actionName]) {
throw new Error(`There is already an actionName called "${actionName}"`);
}
ah[actionName] = [handler, scope];
ah[actionName] = handler;
},
/**
* Sends a message to the comObj to invoke the action with the supplied data.
Expand Down Expand Up @@ -318,7 +318,7 @@ MessageHandler.prototype = {
streamSink.sinkCapability.resolve();
streamSink.ready = streamSink.sinkCapability.promise;
this.streamSinks[streamId] = streamSink;
resolveCall(action[0], [data.data, streamSink], action[1]).then(() => {
resolveCall(action, [data.data, streamSink]).then(() => {
comObj.postMessage({
sourceName,
targetName,
Expand Down