mirror of
https://github.com/zen-browser/pdf.js.git
synced 2025-07-08 01:10:08 +02:00
[Firefox] Generate a PDF.js default-prefs file that can be used directly in mozilla-central (bug 1905864)
This commit is contained in:
parent
75129fd61a
commit
ecb39a75ed
3 changed files with 21 additions and 63 deletions
|
@ -1,22 +0,0 @@
|
||||||
{
|
|
||||||
// Note: The root .eslintrc file will define the base rules,
|
|
||||||
// but mozilla/recommended will override them for the rules it sets. Finally,
|
|
||||||
// the rules in this file will take precedence.
|
|
||||||
"extends": [
|
|
||||||
"plugin:mozilla/recommended",
|
|
||||||
],
|
|
||||||
|
|
||||||
"plugins": [
|
|
||||||
"mozilla"
|
|
||||||
],
|
|
||||||
|
|
||||||
"rules": {
|
|
||||||
// Other rules mozilla/recommended hasn't enabled yet.
|
|
||||||
"no-shadow": "error",
|
|
||||||
"arrow-body-style": ["error", "as-needed"],
|
|
||||||
"arrow-parens": ["error", "always"],
|
|
||||||
"constructor-super": "error",
|
|
||||||
"no-confusing-arrow": "error",
|
|
||||||
"no-useless-constructor": "error",
|
|
||||||
},
|
|
||||||
}
|
|
|
@ -1,18 +0,0 @@
|
||||||
/* Copyright 2018 Mozilla Foundation
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
export const PdfJsDefaultPreferences = Object.freeze(
|
|
||||||
PDFJSDev.eval("DEFAULT_PREFERENCES")
|
|
||||||
);
|
|
44
gulpfile.mjs
44
gulpfile.mjs
|
@ -53,7 +53,6 @@ const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
||||||
const BUILD_DIR = "build/";
|
const BUILD_DIR = "build/";
|
||||||
const L10N_DIR = "l10n/";
|
const L10N_DIR = "l10n/";
|
||||||
const TEST_DIR = "test/";
|
const TEST_DIR = "test/";
|
||||||
const EXTENSION_SRC_DIR = "extensions/";
|
|
||||||
|
|
||||||
const BASELINE_DIR = BUILD_DIR + "baseline/";
|
const BASELINE_DIR = BUILD_DIR + "baseline/";
|
||||||
const MOZCENTRAL_BASELINE_DIR = BUILD_DIR + "mozcentral.baseline/";
|
const MOZCENTRAL_BASELINE_DIR = BUILD_DIR + "mozcentral.baseline/";
|
||||||
|
@ -1278,26 +1277,31 @@ gulp.task(
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
function preprocessDefaultPreferences(content) {
|
function createDefaultPrefsFile() {
|
||||||
|
const defaultFileName = "PdfJsDefaultPrefs.js",
|
||||||
|
overrideFileName = "PdfJsOverridePrefs.js";
|
||||||
const licenseHeader = fs.readFileSync("./src/license_header.js").toString();
|
const licenseHeader = fs.readFileSync("./src/license_header.js").toString();
|
||||||
|
|
||||||
const MODIFICATION_WARNING =
|
const MODIFICATION_WARNING =
|
||||||
"//\n// THIS FILE IS GENERATED AUTOMATICALLY, DO NOT EDIT MANUALLY!\n//\n";
|
"// THIS FILE IS GENERATED AUTOMATICALLY, DO NOT EDIT MANUALLY!\n//\n" +
|
||||||
|
`// Any overrides should be placed in \`${overrideFileName}\`.\n`;
|
||||||
|
|
||||||
const bundleDefines = {
|
const prefs = getDefaultPreferences("mozcentral/");
|
||||||
...DEFINES,
|
const buf = [];
|
||||||
DEFAULT_PREFERENCES: getDefaultPreferences("mozcentral/"),
|
|
||||||
};
|
|
||||||
|
|
||||||
content = preprocessPDFJSCode(
|
for (const name in prefs) {
|
||||||
{
|
let value = prefs[name];
|
||||||
rootPath: __dirname,
|
|
||||||
defines: bundleDefines,
|
|
||||||
},
|
|
||||||
content
|
|
||||||
);
|
|
||||||
|
|
||||||
return licenseHeader + "\n" + MODIFICATION_WARNING + "\n" + content + "\n";
|
if (typeof value === "string") {
|
||||||
|
value = `"${value}"`;
|
||||||
|
}
|
||||||
|
buf.push(`pref("pdfjs.${name}", ${value});`);
|
||||||
|
}
|
||||||
|
buf.sort();
|
||||||
|
buf.unshift(licenseHeader, MODIFICATION_WARNING);
|
||||||
|
buf.push(`\n#include ${overrideFileName}\n`);
|
||||||
|
|
||||||
|
return createStringSource(defaultFileName, buf.join("\n"));
|
||||||
}
|
}
|
||||||
|
|
||||||
function replaceMozcentralCSS() {
|
function replaceMozcentralCSS() {
|
||||||
|
@ -1325,8 +1329,7 @@ gulp.task(
|
||||||
MOZCENTRAL_EXTENSION_DIR = MOZCENTRAL_DIR + "browser/extensions/pdfjs/",
|
MOZCENTRAL_EXTENSION_DIR = MOZCENTRAL_DIR + "browser/extensions/pdfjs/",
|
||||||
MOZCENTRAL_CONTENT_DIR = MOZCENTRAL_EXTENSION_DIR + "content/",
|
MOZCENTRAL_CONTENT_DIR = MOZCENTRAL_EXTENSION_DIR + "content/",
|
||||||
MOZCENTRAL_L10N_DIR =
|
MOZCENTRAL_L10N_DIR =
|
||||||
MOZCENTRAL_DIR + "browser/locales/en-US/pdfviewer/",
|
MOZCENTRAL_DIR + "browser/locales/en-US/pdfviewer/";
|
||||||
FIREFOX_CONTENT_DIR = EXTENSION_SRC_DIR + "/firefox/content/";
|
|
||||||
|
|
||||||
const MOZCENTRAL_WEB_FILES = [
|
const MOZCENTRAL_WEB_FILES = [
|
||||||
...COMMON_WEB_FILES,
|
...COMMON_WEB_FILES,
|
||||||
|
@ -1401,12 +1404,7 @@ gulp.task(
|
||||||
gulp
|
gulp
|
||||||
.src("LICENSE", { encoding: false })
|
.src("LICENSE", { encoding: false })
|
||||||
.pipe(gulp.dest(MOZCENTRAL_EXTENSION_DIR)),
|
.pipe(gulp.dest(MOZCENTRAL_EXTENSION_DIR)),
|
||||||
gulp
|
createDefaultPrefsFile().pipe(gulp.dest(MOZCENTRAL_EXTENSION_DIR)),
|
||||||
.src(FIREFOX_CONTENT_DIR + "PdfJsDefaultPreferences.sys.mjs", {
|
|
||||||
encoding: false,
|
|
||||||
})
|
|
||||||
.pipe(transform("utf8", preprocessDefaultPreferences))
|
|
||||||
.pipe(gulp.dest(MOZCENTRAL_CONTENT_DIR)),
|
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue