mirror of
https://github.com/mozilla/pdf.js.git
synced 2025-04-20 07:08:08 +02:00
Before commit: chrome-extension://EXTENSIONID/content/web/viewer.html?file=http%3A%2F%2Fexample.com%2Ffile.pdf After commit: chrome-extension://EXTENSIONID/http://example/file.pdf Technical details: - The extension's background page uses the webRequest API to intercept requests for <extension host>/<real path to pdf>, and redirect it to the viewer's URL. - viewer.js uses history.replaceState to rewrite the URL, so that it's easier for users to recognize and copy-paste URLs. - The fake paths /http:, /https:, /file:, etc. have been added to the web_accessible_resources section of the manifest file, in order to avoid seeing chrome-extension://invalid/ instead of the actual URL when using history back/forward to navigate from/to the PDF viewer. - Since the relative path resolving doesn't work because relative URLs are inaccurate, a <base> tag has been added. This method has already been proven to work in the Firefox add-on. Notes: - This commit has been cherry-picked from crx-using-streams-api. - Need to merge https://github.com/mozilla/pdf.js/pull/3582 to deal with a bug in Chrome <=30 - In Chrome, getting the contents of a FTP file is not possible, so there's no support for FTP files, even though the extension router recognizes the ftp: scheme. |
||
---|---|---|
.. | ||
images | ||
.gitignore | ||
compatibility.js | ||
compressed.tracemonkey-pldi-09.pdf | ||
debugger.js | ||
download_manager.js | ||
firefoxcom.js | ||
index.html.template | ||
mozPrintCallback_polyfill.js | ||
page_view.js | ||
password_prompt.js | ||
pdf_find_bar.js | ||
pdf_find_controller.js | ||
pdf_history.js | ||
presentation_mode.js | ||
secondary_toolbar.js | ||
settings.js | ||
text_layer_builder.js | ||
thumbnail_view.js | ||
ui_utils.js | ||
viewer-snippet-b2g-activity-header.html | ||
viewer-snippet-chrome-extension.html | ||
viewer-snippet-firefox-extension.html | ||
viewer-snippet-mozPrintCallback-polyfill.html | ||
viewer-snippet.html | ||
viewer.css | ||
viewer.html | ||
viewer.js |