Skip to content

Commit

Permalink
Merge pull request #14063 from Snuffleupagus/disablePreferences-warning
Browse files Browse the repository at this point in the history
[GENERIC viewer] Warn about AppOptions being overridden by Preferences during loading
  • Loading branch information
timvandermeij authored Sep 22, 2021
2 parents 1bef4e5 + 96b38f6 commit 8dc22f4
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 6 deletions.
19 changes: 13 additions & 6 deletions web/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -301,13 +301,20 @@ const PDFViewerApplication = {
*/
async _readPreferences() {
if (
(typeof PDFJSDev === "undefined" ||
PDFJSDev.test("!PRODUCTION || GENERIC")) &&
AppOptions.get("disablePreferences")
typeof PDFJSDev === "undefined" ||
PDFJSDev.test("!PRODUCTION || GENERIC")
) {
// Give custom implementations of the default viewer a simpler way to
// opt-out of having the `Preferences` override existing `AppOptions`.
return;
if (AppOptions.get("disablePreferences")) {
// Give custom implementations of the default viewer a simpler way to
// opt-out of having the `Preferences` override existing `AppOptions`.
return;
}
if (AppOptions._hasUserOptions()) {
console.warn(
"_readPreferences: The Preferences may override manually set AppOptions; " +
'please use the "disablePreferences"-option in order to prevent that.'
);
}
}
try {
AppOptions.setAll(await this.preferences.getAll());
Expand Down
7 changes: 7 additions & 0 deletions web/app_options.js
Original file line number Diff line number Diff line change
Expand Up @@ -379,6 +379,13 @@ class AppOptions {
static remove(name) {
delete userOptions[name];
}

/**
* @ignore
*/
static _hasUserOptions() {
return Object.keys(userOptions).length > 0;
}
}

export { AppOptions, compatibilityParams, OptionKind };

0 comments on commit 8dc22f4

Please sign in to comment.