Skip to content

Commit

Permalink
Merge pull request #12540 from Snuffleupagus/BaseViewer-version-check
Browse files Browse the repository at this point in the history
Ensure that the same version of PDF.js is used in both the API and the Viewer (PR 8959 follow-up)
  • Loading branch information
timvandermeij authored Oct 27, 2020
2 parents 8098102 + 62b19f7 commit 6fae381
Showing 1 changed file with 10 additions and 5 deletions.
15 changes: 10 additions & 5 deletions web/base_viewer.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
* limitations under the License.
*/

import { createPromiseCapability, version } from "pdfjs-lib";
import {
CSS_UNITS,
DEFAULT_SCALE,
Expand All @@ -38,7 +39,6 @@ import {
} from "./ui_utils.js";
import { PDFRenderingQueue, RenderingStates } from "./pdf_rendering_queue.js";
import { AnnotationLayerBuilder } from "./annotation_layer_builder.js";
import { createPromiseCapability } from "pdfjs-lib";
import { PDFPageView } from "./pdf_page_view.js";
import { SimpleLinkService } from "./pdf_link_service.js";
import { TextLayerBuilder } from "./text_layer_builder.js";
Expand Down Expand Up @@ -139,6 +139,13 @@ class BaseViewer {
if (this.constructor === BaseViewer) {
throw new Error("Cannot initialize BaseViewer.");
}
const viewerVersion =
typeof PDFJSDev !== "undefined" ? PDFJSDev.eval("BUNDLE_VERSION") : null;
if (version !== viewerVersion) {
throw new Error(
`The API version "${version}" does not match the Viewer version "${viewerVersion}".`
);
}
this._name = this.constructor.name;

this.container = options.container;
Expand All @@ -150,10 +157,8 @@ class BaseViewer {
) {
if (
!(
this.container &&
this.container.tagName.toUpperCase() === "DIV" &&
this.viewer &&
this.viewer.tagName.toUpperCase() === "DIV"
this.container?.tagName.toUpperCase() === "DIV" &&
this.viewer?.tagName.toUpperCase() === "DIV"
)
) {
throw new Error("Invalid `container` and/or `viewer` option.");
Expand Down

0 comments on commit 6fae381

Please sign in to comment.