mirror of
https://github.com/mozilla/pdf.js.git
synced 2025-04-19 06:38:07 +02:00
Re-factor BasePreferences
to essentially be a wrapper around AppOptions
In the MOZCENTRAL build the `BasePreferences` class is almost unused, since it's only being used to initialize and update the `AppOptions` which means that theoretically we could move the relevant code there. However for the other build targets (e.g. GENERIC and CHROME) we still need to keep the `BasePreferences` class, although we can re-factor things to move the necessary validation inside of `AppOptions` and thus simplify the code and reduce duplication. The patch also moves the event dispatching, for changed preference values, into `AppOptions` instead.
This commit is contained in:
parent
1bdd6920ff
commit
d9f0ec0b87
4 changed files with 76 additions and 142 deletions
24
gulpfile.mjs
24
gulpfile.mjs
|
@ -284,9 +284,6 @@ function createWebpackConfig(
|
|||
BUNDLE_VERSION: versionInfo.version,
|
||||
BUNDLE_BUILD: versionInfo.commit,
|
||||
TESTING: defines.TESTING ?? process.env.TESTING === "true",
|
||||
BROWSER_PREFERENCES: defaultPreferencesDir
|
||||
? getBrowserPreferences(defaultPreferencesDir)
|
||||
: {},
|
||||
DEFAULT_PREFERENCES: defaultPreferencesDir
|
||||
? getDefaultPreferences(defaultPreferencesDir)
|
||||
: {},
|
||||
|
@ -856,13 +853,6 @@ async function parseDefaultPreferences(dir) {
|
|||
"./" + DEFAULT_PREFERENCES_DIR + dir + "app_options.mjs"
|
||||
);
|
||||
|
||||
const browserPrefs = AppOptions.getAll(
|
||||
OptionKind.BROWSER,
|
||||
/* defaultOnly = */ true
|
||||
);
|
||||
if (Object.keys(browserPrefs).length === 0) {
|
||||
throw new Error("No browser preferences found.");
|
||||
}
|
||||
const prefs = AppOptions.getAll(
|
||||
OptionKind.PREFERENCE,
|
||||
/* defaultOnly = */ true
|
||||
|
@ -871,23 +861,12 @@ async function parseDefaultPreferences(dir) {
|
|||
throw new Error("No default preferences found.");
|
||||
}
|
||||
|
||||
fs.writeFileSync(
|
||||
DEFAULT_PREFERENCES_DIR + dir + "browser_preferences.json",
|
||||
JSON.stringify(browserPrefs)
|
||||
);
|
||||
fs.writeFileSync(
|
||||
DEFAULT_PREFERENCES_DIR + dir + "default_preferences.json",
|
||||
JSON.stringify(prefs)
|
||||
);
|
||||
}
|
||||
|
||||
function getBrowserPreferences(dir) {
|
||||
const str = fs
|
||||
.readFileSync(DEFAULT_PREFERENCES_DIR + dir + "browser_preferences.json")
|
||||
.toString();
|
||||
return JSON.parse(str);
|
||||
}
|
||||
|
||||
function getDefaultPreferences(dir) {
|
||||
const str = fs
|
||||
.readFileSync(DEFAULT_PREFERENCES_DIR + dir + "default_preferences.json")
|
||||
|
@ -1581,9 +1560,6 @@ function buildLib(defines, dir) {
|
|||
BUNDLE_VERSION: versionInfo.version,
|
||||
BUNDLE_BUILD: versionInfo.commit,
|
||||
TESTING: defines.TESTING ?? process.env.TESTING === "true",
|
||||
BROWSER_PREFERENCES: getBrowserPreferences(
|
||||
defines.SKIP_BABEL ? "lib/" : "lib-legacy/"
|
||||
),
|
||||
DEFAULT_PREFERENCES: getDefaultPreferences(
|
||||
defines.SKIP_BABEL ? "lib/" : "lib-legacy/"
|
||||
),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue