1
0
Fork 0
mirror of https://github.com/mozilla/pdf.js.git synced 2025-04-20 15:18:08 +02:00

Merge pull request #18450 from Snuffleupagus/AppOptions-set-validation

Add more validation when setting `AppOptions` (PR 18413 follow-up)
This commit is contained in:
Tim van der Meij 2024-07-20 19:11:54 +02:00 committed by GitHub
commit e92a6a14ff
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -511,6 +511,11 @@ class AppOptions {
}
static set(name, value) {
const defaultOption = defaultOptions[name];
if (!defaultOption || typeof value !== typeof defaultOption.value) {
return;
}
userOptions[name] = value;
}
@ -518,22 +523,18 @@ class AppOptions {
let events;
for (const name in options) {
const userOption = options[name];
const defaultOption = defaultOptions[name],
userOption = options[name];
if (!defaultOption || typeof userOption !== typeof defaultOption.value) {
continue;
}
if (prefs) {
const defaultOption = defaultOptions[name];
if (!defaultOption) {
continue;
}
const { kind, value } = defaultOption;
const { kind } = defaultOption;
if (!(kind & OptionKind.BROWSER || kind & OptionKind.PREFERENCE)) {
continue;
}
if (typeof userOption !== typeof value) {
continue;
}
if (this.eventBus && kind & OptionKind.EVENT_DISPATCH) {
(events ||= new Map()).set(name, userOption);
}