Move the defaultUrl
parameter from the appConfig
and into AppOptions
instead
The `appConfig` contains (mostly) references to various DOM elements, used when initializing the viewer components. Hence `defaultUrl` seem like a slightly better fit for the new `AppOptions` abstraction, not to mention that it should thus be easier to set/modify it for custom deployments of the default viewer.
This commit is contained in:
parent
81c550903f
commit
57165afb08
@ -1568,12 +1568,12 @@ function webViewerInitialized() {
|
|||||||
if (typeof PDFJSDev === 'undefined' || PDFJSDev.test('GENERIC')) {
|
if (typeof PDFJSDev === 'undefined' || PDFJSDev.test('GENERIC')) {
|
||||||
let queryString = document.location.search.substring(1);
|
let queryString = document.location.search.substring(1);
|
||||||
let params = parseQueryString(queryString);
|
let params = parseQueryString(queryString);
|
||||||
file = 'file' in params ? params.file : appConfig.defaultUrl;
|
file = 'file' in params ? params.file : AppOptions.get('defaultUrl');
|
||||||
validateFileURL(file);
|
validateFileURL(file);
|
||||||
} else if (PDFJSDev.test('FIREFOX || MOZCENTRAL')) {
|
} else if (PDFJSDev.test('FIREFOX || MOZCENTRAL')) {
|
||||||
file = window.location.href.split('#')[0];
|
file = window.location.href.split('#')[0];
|
||||||
} else if (PDFJSDev.test('CHROME')) {
|
} else if (PDFJSDev.test('CHROME')) {
|
||||||
file = appConfig.defaultUrl;
|
file = AppOptions.get('defaultUrl');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (typeof PDFJSDev === 'undefined' || PDFJSDev.test('GENERIC')) {
|
if (typeof PDFJSDev === 'undefined' || PDFJSDev.test('GENERIC')) {
|
||||||
|
@ -27,6 +27,11 @@ const OptionKind = {
|
|||||||
* compare with the format of `default_preferences.json`.
|
* compare with the format of `default_preferences.json`.
|
||||||
*/
|
*/
|
||||||
const defaultOptions = {
|
const defaultOptions = {
|
||||||
|
defaultUrl: {
|
||||||
|
/** @type {string} */
|
||||||
|
value: 'compressed.tracemonkey-pldi-09.pdf',
|
||||||
|
kind: OptionKind.VIEWER,
|
||||||
|
},
|
||||||
defaultZoomValue: {
|
defaultZoomValue: {
|
||||||
/** @type {string} */
|
/** @type {string} */
|
||||||
value: '',
|
value: '',
|
||||||
|
@ -16,18 +16,18 @@
|
|||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
let DEFAULT_URL = 'compressed.tracemonkey-pldi-09.pdf';
|
|
||||||
|
|
||||||
if (typeof PDFJSDev !== 'undefined' && PDFJSDev.test('CHROME')) {
|
if (typeof PDFJSDev !== 'undefined' && PDFJSDev.test('CHROME')) {
|
||||||
|
var defaultUrl; // eslint-disable-line no-var
|
||||||
|
|
||||||
(function rewriteUrlClosure() {
|
(function rewriteUrlClosure() {
|
||||||
// Run this code outside DOMContentLoaded to make sure that the URL
|
// Run this code outside DOMContentLoaded to make sure that the URL
|
||||||
// is rewritten as soon as possible.
|
// is rewritten as soon as possible.
|
||||||
let queryString = document.location.search.slice(1);
|
let queryString = document.location.search.slice(1);
|
||||||
let m = /(^|&)file=([^&]*)/.exec(queryString);
|
let m = /(^|&)file=([^&]*)/.exec(queryString);
|
||||||
DEFAULT_URL = m ? decodeURIComponent(m[2]) : '';
|
defaultUrl = m ? decodeURIComponent(m[2]) : '';
|
||||||
|
|
||||||
// Example: chrome-extension://.../http://example.com/file.pdf
|
// Example: chrome-extension://.../http://example.com/file.pdf
|
||||||
let humanReadableUrl = '/' + DEFAULT_URL + location.hash;
|
let humanReadableUrl = '/' + defaultUrl + location.hash;
|
||||||
history.replaceState(history.state, '', humanReadableUrl);
|
history.replaceState(history.state, '', humanReadableUrl);
|
||||||
if (top === window) {
|
if (top === window) {
|
||||||
chrome.runtime.sendMessage('showPageAction');
|
chrome.runtime.sendMessage('showPageAction');
|
||||||
@ -172,7 +172,6 @@ function getViewerConfiguration() {
|
|||||||
printContainer: document.getElementById('printContainer'),
|
printContainer: document.getElementById('printContainer'),
|
||||||
openFileInputName: 'fileInput',
|
openFileInputName: 'fileInput',
|
||||||
debuggerScriptPath: './debugger.js',
|
debuggerScriptPath: './debugger.js',
|
||||||
defaultUrl: DEFAULT_URL,
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -190,6 +189,10 @@ function webViewerLoad() {
|
|||||||
app.PDFViewerApplication.run(config);
|
app.PDFViewerApplication.run(config);
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
|
if (typeof PDFJSDev !== 'undefined' && PDFJSDev.test('CHROME')) {
|
||||||
|
pdfjsWebAppOptions.AppOptions.set('defaultUrl', defaultUrl);
|
||||||
|
}
|
||||||
|
|
||||||
window.PDFViewerApplication = pdfjsWebApp.PDFViewerApplication;
|
window.PDFViewerApplication = pdfjsWebApp.PDFViewerApplication;
|
||||||
window.PDFViewerApplicationOptions = pdfjsWebAppOptions.AppOptions;
|
window.PDFViewerApplicationOptions = pdfjsWebAppOptions.AppOptions;
|
||||||
pdfjsWebApp.PDFViewerApplication.run(config);
|
pdfjsWebApp.PDFViewerApplication.run(config);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user