Merge remote-tracking branch 'upstream/master'
This commit is contained in:
commit
074c53233d
68
make.js
68
make.js
@ -6,6 +6,7 @@ var ROOT_DIR = __dirname + '/', // absolute path to project's root
|
||||
BUILD_DIR = 'build/',
|
||||
BUILD_TARGET = BUILD_DIR + 'pdf.js',
|
||||
FIREFOX_BUILD_DIR = BUILD_DIR + '/firefox/',
|
||||
CHROME_BUILD_DIR = BUILD_DIR + '/chrome/',
|
||||
EXTENSION_SRC_DIR = 'extensions/',
|
||||
LOCALE_SRC_DIR = 'l10n/',
|
||||
GH_PAGES_DIR = BUILD_DIR + 'gh-pages/',
|
||||
@ -107,6 +108,8 @@ target.web = function() {
|
||||
cp('-R', GENERIC_DIR + '/*', GH_PAGES_DIR);
|
||||
cp(FIREFOX_BUILD_DIR + '/*.xpi', FIREFOX_BUILD_DIR + '/*.rdf',
|
||||
GH_PAGES_DIR + EXTENSION_SRC_DIR + 'firefox/');
|
||||
cp(CHROME_BUILD_DIR + '/*.crx', FIREFOX_BUILD_DIR + '/*.rdf',
|
||||
GH_PAGES_DIR + EXTENSION_SRC_DIR + 'chrome/');
|
||||
cp('web/index.html.template', GH_PAGES_DIR + '/index.html');
|
||||
|
||||
cd(GH_PAGES_DIR);
|
||||
@ -258,6 +261,7 @@ target.pagesrepo = function() {
|
||||
mkdir('-p', GH_PAGES_DIR + '/web/images');
|
||||
mkdir('-p', GH_PAGES_DIR + BUILD_DIR);
|
||||
mkdir('-p', GH_PAGES_DIR + EXTENSION_SRC_DIR + '/firefox');
|
||||
mkdir('-p', GH_PAGES_DIR + EXTENSION_SRC_DIR + '/chrome');
|
||||
};
|
||||
|
||||
|
||||
@ -574,6 +578,70 @@ target.chrome = function() {
|
||||
]
|
||||
};
|
||||
builder.build(setup);
|
||||
|
||||
// Bundle the files to a Chrome extension file .crx if path to key is set
|
||||
var pem = env['PDFJS_CHROME_KEY'];
|
||||
if (!pem) {
|
||||
return;
|
||||
}
|
||||
|
||||
echo();
|
||||
echo('### Bundling .crx extension into ' + CHROME_BUILD_DIR);
|
||||
|
||||
if (!test('-f', pem)) {
|
||||
echo('Incorrect PDFJS_CHROME_KEY path');
|
||||
exit(1);
|
||||
}
|
||||
|
||||
var browserManifest = env['PDF_BROWSERS'] ||
|
||||
'test/resources/browser_manifests/browser_manifest.json';
|
||||
|
||||
if (!test('-f', browserManifest)) {
|
||||
echo('Browser manifest file ' + browserManifest + ' does not exist.');
|
||||
echo('Try copying one of the examples in test/resources/browser_manifests');
|
||||
exit(1);
|
||||
}
|
||||
|
||||
try {
|
||||
var manifest = JSON.parse(cat(browserManifest));
|
||||
} catch (e) {
|
||||
echo('Malformed browser manifest file');
|
||||
echo(e.message);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
var executable;
|
||||
manifest.forEach(function(browser) {
|
||||
if (browser.name === 'chrome') {
|
||||
executable = browser.path;
|
||||
}
|
||||
});
|
||||
|
||||
// If there was no chrome entry in the browser manifest, exit
|
||||
if(!executable) {
|
||||
echo('There was no \'chrome\' entry in the browser manifest');
|
||||
exit(1);
|
||||
}
|
||||
|
||||
// If we're on a Darwin (Mac) OS, then let's check for an .app path
|
||||
if (process.platform === 'darwin' && executable.indexOf('.app') !== -1) {
|
||||
executable = executable + '/Contents/MacOS/Google Chrome');
|
||||
}
|
||||
|
||||
// If the chrome executable doesn't exist
|
||||
if(!test('-f', executable)) {
|
||||
echo('Incorrect executable path to chrome');
|
||||
exit(1);
|
||||
}
|
||||
|
||||
// Let chrome pack the extension for us
|
||||
exec('"' + executable + '"' +
|
||||
' --no-message-box' +
|
||||
' "--pack-extension=' + ROOT_DIR + CHROME_BUILD_DIR + '"' +
|
||||
' "--pack-extension-key=' + pem + '"');
|
||||
|
||||
// Rename to pdf.js.crx
|
||||
mv(BUILD_DIR + 'chrome.crx', CHROME_BUILD_DIR + 'pdf.js.crx');
|
||||
};
|
||||
|
||||
|
||||
|
@ -385,7 +385,13 @@ var PDFView = {
|
||||
|
||||
setTitleUsingUrl: function pdfViewSetTitleUsingUrl(url) {
|
||||
this.url = url;
|
||||
document.title = decodeURIComponent(getFileName(url)) || url;
|
||||
try {
|
||||
document.title = decodeURIComponent(getFileName(url)) || url;
|
||||
} catch (e) {
|
||||
// decodeURIComponent may throw URIError,
|
||||
// fall back to using the unprocessed url in that case
|
||||
document.title = url;
|
||||
}
|
||||
},
|
||||
|
||||
open: function pdfViewOpen(url, scale, password) {
|
||||
|
Loading…
Reference in New Issue
Block a user