mirror of
https://github.com/mozilla/pdf.js.git
synced 2025-04-19 22:58:07 +02:00
[CRX] Set manifest_version to 3
- Replace DOM-based pdfHandler.html (background page) with background.js (extension service worker). - Adjust logic of background scripts to account for the fact that the scripts can execute repeatedly during a browser session. Primarily, register relevant extension event handlers at the top level and use in-memory storage.session API to keep track of initialization state. - Extension URL router: replace blocking webRequest with the service worker-specific "fetch" event. - PDF detection: replace blocking webRequest with declarativeNetRequest. This requires Chrome 128+. The next commit will add a fallback for earlier Chrome versions.
This commit is contained in:
parent
7017d8246b
commit
3fe256cd0d
8 changed files with 331 additions and 233 deletions
|
@ -31,7 +31,11 @@ if (typeof PDFJSDev === "undefined" || !PDFJSDev.test("CHROME")) {
|
|||
// is rewritten as soon as possible.
|
||||
const queryString = document.location.search.slice(1);
|
||||
const m = /(^|&)file=([^&]*)/.exec(queryString);
|
||||
const defaultUrl = m ? decodeURIComponent(m[2]) : "";
|
||||
let defaultUrl = m ? decodeURIComponent(m[2]) : "";
|
||||
if (!defaultUrl && queryString.startsWith("DNR:")) {
|
||||
// Redirected via DNR, see registerPdfRedirectRule in pdfHandler.js.
|
||||
defaultUrl = queryString.slice(4);
|
||||
}
|
||||
|
||||
// Example: chrome-extension://.../http://example.com/file.pdf
|
||||
const humanReadableUrl = "/" + defaultUrl + location.hash;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue