Fix DOMFilterFactory.#createUrl in MOZCENTRAL builds (18417 PR follow-up)

Somehow I managed to mess up the URL creation relevant to e.g. MOZCENTRAL builds, which is breaking the pending PDF.js update in mozilla-central; sorry about that!

To avoid future issues, we'll now always check if absolute filter-URLs are necessary regardless of the build-target.
This commit is contained in:
Jonas Jenwald 2024-07-13 10:59:38 +02:00
parent 87e74a753b
commit 4c45948bc4

View file

@ -124,22 +124,20 @@ class DOMFilterFactory extends BaseFilterFactory {
} }
#createUrl(id) { #createUrl(id) {
if (typeof PDFJSDev === "undefined" || PDFJSDev.test("GENERIC")) {
if (this.#baseUrl === undefined) { if (this.#baseUrl === undefined) {
// Unless a `<base>`-element is present a relative URL should work.
this.#baseUrl = "";
const url = this.#document.URL; const url = this.#document.URL;
if (url === this.#document.baseURI) { if (url !== this.#document.baseURI) {
// No `<base>`-element present, hence a relative URL should work. if (isDataScheme(url)) {
this.#baseUrl = "";
} else if (isDataScheme(url)) {
warn('#createUrl: ignore "data:"-URL for performance reasons.'); warn('#createUrl: ignore "data:"-URL for performance reasons.');
this.#baseUrl = "";
} else { } else {
this.#baseUrl = url.split("#", 1)[0]; this.#baseUrl = url.split("#", 1)[0];
} }
} }
return `url(${this.#baseUrl}#${id})`;
} }
return `url(${id})`; return `url(${this.#baseUrl}#${id})`;
} }
addFilter(maps) { addFilter(maps) {