Skip to content

Commit

Permalink
[api-minor] Remove the document.currentScript polyfill
Browse files Browse the repository at this point in the history
This polyfill is currently used in only *one* file, i.e. `src/display/api.js`, and only when trying to build a *fallback* `workerSrc` path.

Given that the global `workerSrc` should *always* be set[1] when using the PDF.js library[2], and that the fallback `workerSrc` should only be regarded as a best-effort solution anyway, there isn't a particularily strong reason to keep the compatibility code in my opinion.

---
[1] Other supported options include setting the global `workerPort`, or passing in a `PDFWorker` instance as part of the `getDocument` call.

[2] Which is clearly mentioned in the JSDocs in `src/display/worker_options.js`.
  • Loading branch information
Snuffleupagus committed Feb 3, 2019
1 parent 80495e6 commit 614e502
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 20 deletions.
3 changes: 2 additions & 1 deletion src/display/api.js
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,8 @@ if (typeof PDFJSDev !== 'undefined' && PDFJSDev.test('GENERIC')) {
});
}) : null;

if (!fallbackWorkerSrc && typeof document !== 'undefined') {
if (!fallbackWorkerSrc && typeof document === 'object' &&
'currentScript' in document) {
const pdfjsFilePath = document.currentScript && document.currentScript.src;
if (pdfjsFilePath) {
fallbackWorkerSrc =
Expand Down
19 changes: 0 additions & 19 deletions src/shared/compatibility.js
Original file line number Diff line number Diff line change
Expand Up @@ -54,25 +54,6 @@ const hasDOM = typeof window === 'object' && typeof document === 'object';
};
})();

// Provides document.currentScript support
// Support: IE, Chrome<29.
(function checkCurrentScript() {
if (!hasDOM) {
return;
}
if ('currentScript' in document) {
return;
}
Object.defineProperty(document, 'currentScript', {
get() {
var scripts = document.getElementsByTagName('script');
return scripts[scripts.length - 1];
},
enumerable: true,
configurable: true,
});
})();

// Provides support for ChildNode.remove in legacy browsers.
// Support: IE.
(function checkChildNodeRemove() {
Expand Down

0 comments on commit 614e502

Please sign in to comment.