Initial build for b2g.
This commit is contained in:
parent
e4a75cf02d
commit
6d35073a9c
88
make.js
88
make.js
@ -1,5 +1,7 @@
|
||||
#!/usr/bin/env node
|
||||
require('./external/shelljs/make');
|
||||
var fs = require('fs');
|
||||
var vm = require('vm');
|
||||
|
||||
var ROOT_DIR = __dirname + '/', // absolute path to project's root
|
||||
BUILD_DIR = 'build/',
|
||||
@ -15,6 +17,49 @@ var ROOT_DIR = __dirname + '/', // absolute path to project's root
|
||||
MOZCENTRAL_STREAM_CONVERTER_ID = 'd0c5195d-e798-49d4-b1d3-9324328b2291',
|
||||
FIREFOX_STREAM_CONVERTER_ID = '6457a96b-2d68-439a-bcfa-44465fbcdbb1';
|
||||
|
||||
function preprocess(inFilename, outFilename, flags) {
|
||||
// TODO make this really read line by line.
|
||||
var lines = fs.readFileSync(inFilename).toString().split("\n");
|
||||
var totalLines = lines.length;
|
||||
var out = '';
|
||||
var i = 0;
|
||||
function readLine() {
|
||||
if (i < totalLines) {
|
||||
return lines[i++];
|
||||
}
|
||||
return null;
|
||||
}
|
||||
function writeLine(line) {
|
||||
out += line + '\n';
|
||||
}
|
||||
|
||||
var s, state = 0, stack = [];
|
||||
while ((s = readLine()) !== null) {
|
||||
var m = new RegExp(/^\/\/\s*#(if|else|endif)\b(?:\s+(.*))?/).exec(s);
|
||||
if (m) {
|
||||
if (m[1] === "if") {
|
||||
stack.push(state);
|
||||
state = vm.runInNewContext(m[2], flags) ? 3 : 1;
|
||||
} else if (m[1] === "else") {
|
||||
state = state === 1 ? 3 : 2;
|
||||
} else {
|
||||
state = stack.pop();
|
||||
}
|
||||
} else {
|
||||
if (state === 0) {
|
||||
writeLine(s);
|
||||
} else if(state === 3) {
|
||||
writeLine(s.replace(/^\/\//g, " "));
|
||||
}
|
||||
}
|
||||
}
|
||||
fs.writeFileSync(outFilename, out);
|
||||
}
|
||||
|
||||
target.pre = function() {
|
||||
preprocess('in.txt', 'out.txt', {B2G: true});
|
||||
}
|
||||
|
||||
//
|
||||
// make all
|
||||
//
|
||||
@ -482,6 +527,49 @@ target.mozcentral = function() {
|
||||
cp('-Rf', 'test/mozcentral/*', MOZCENTRAL_TEST_DIR);
|
||||
};
|
||||
|
||||
target.b2g = function() {
|
||||
echo();
|
||||
echo('### Building B2G (Firefox OS App)');
|
||||
var B2G_BUILD_DIR = BUILD_DIR + '/b2g/',
|
||||
B2G_BUILD_CONTENT_DIR = B2G_BUILD_DIR + '/content/';
|
||||
target.production();
|
||||
target.buildnumber();
|
||||
|
||||
// Clear out everything in the b2g build directory
|
||||
cd(ROOT_DIR);
|
||||
rm('-Rf', B2G_BUILD_DIR);
|
||||
mkdir('-p', B2G_BUILD_CONTENT_DIR);
|
||||
mkdir('-p', B2G_BUILD_CONTENT_DIR + BUILD_DIR);
|
||||
mkdir('-p', B2G_BUILD_CONTENT_DIR + '/web');
|
||||
|
||||
// Copy a standalone version of pdf.js inside the content directory
|
||||
cp(BUILD_TARGET, B2G_BUILD_CONTENT_DIR + BUILD_DIR);
|
||||
cp('-R', EXTENSION_WEB_FILES, B2G_BUILD_CONTENT_DIR + '/web');
|
||||
cp('web/viewer-snippet-b2g.html', B2G_BUILD_CONTENT_DIR + '/web/');
|
||||
// Replacing the l10n.js file with regular gh-pages one
|
||||
rm(B2G_BUILD_CONTENT_DIR + '/web/l10n.js');
|
||||
cp('external/webL10n/l10n.js', B2G_BUILD_CONTENT_DIR + '/web');
|
||||
cp('web/locale.properties', B2G_BUILD_CONTENT_DIR + '/web');
|
||||
|
||||
mv('-f', B2G_BUILD_CONTENT_DIR + '/web/viewer-production.html',
|
||||
B2G_BUILD_CONTENT_DIR + '/web/viewer.html');
|
||||
cd(B2G_BUILD_CONTENT_DIR + '/web');
|
||||
sed('-i', /.*PDFJSSCRIPT_INCLUDE_B2G.*\n/, cat('viewer-snippet-b2g.html'), 'viewer.html');
|
||||
rm('viewer-snippet-b2g.html');
|
||||
cd(ROOT_DIR);
|
||||
|
||||
var flags = {
|
||||
B2G: true
|
||||
};
|
||||
var prep = [
|
||||
B2G_BUILD_CONTENT_DIR + '/web/viewer.js',
|
||||
B2G_BUILD_CONTENT_DIR + '/build/pdf.js'
|
||||
];
|
||||
for (var i in prep) {
|
||||
preprocess(prep[i], prep[i], flags);
|
||||
}
|
||||
};
|
||||
|
||||
//
|
||||
// make chrome
|
||||
//
|
||||
|
@ -29,9 +29,11 @@ function getPdf(arg, callback) {
|
||||
var params = arg;
|
||||
if (typeof arg === 'string')
|
||||
params = { url: arg };
|
||||
|
||||
//#if !B2G
|
||||
var xhr = new XMLHttpRequest();
|
||||
|
||||
//#else
|
||||
//var xhr = new XMLHttpRequest({mozSystem: true});
|
||||
//#endif
|
||||
xhr.open('GET', params.url);
|
||||
|
||||
var headers = params.headers;
|
||||
|
@ -38,6 +38,7 @@
|
||||
<script type="text/javascript" src="../src/jbig2.js"></script> <!-- PDFJSSCRIPT_REMOVE_CORE -->
|
||||
<script type="text/javascript" src="../src/bidi.js"></script> <!-- PDFJSSCRIPT_REMOVE_CORE -->
|
||||
<script type="text/javascript">PDFJS.workerSrc = '../src/worker_loader.js';</script> <!-- PDFJSSCRIPT_REMOVE_CORE -->
|
||||
<!-- PDFJSSCRIPT_INCLUDE_B2G -->
|
||||
<script type="text/javascript" src="debugger.js"></script>
|
||||
<script type="text/javascript" src="viewer.js"></script>
|
||||
</head>
|
||||
|
@ -1880,8 +1880,9 @@ window.addEventListener('load', function webViewerLoad(evt) {
|
||||
PDFView.sidebarOpen = outerContainer.classList.contains('sidebarOpen');
|
||||
PDFView.renderHighestPriority();
|
||||
});
|
||||
|
||||
//#if !B2G
|
||||
PDFView.open(file, 0);
|
||||
//#endif
|
||||
}, true);
|
||||
|
||||
function updateViewarea() {
|
||||
@ -2140,3 +2141,21 @@ window.addEventListener('afterprint', function afterPrint(evt) {
|
||||
window.addEventListener('mozfullscreenchange', fullscreenChange, false);
|
||||
window.addEventListener('webkitfullscreenchange', fullscreenChange, false);
|
||||
})();
|
||||
|
||||
//#if B2G
|
||||
// window.navigator.mozSetMessageHandler('activity', function(activity) {
|
||||
// var url = activity.source.data.url;
|
||||
// // Temporarily get the data here since the cross domain xhr is broken in
|
||||
// // the worker currently, see bug 761227.
|
||||
// var params = {
|
||||
// url: url,
|
||||
// error: function(e) {
|
||||
// PDFView.error(mozL10n.get('loading_error', null,
|
||||
// 'An error occurred while loading the PDF.'), e);
|
||||
// }
|
||||
// };
|
||||
// PDFJS.getPdf(params, function successCallback(data) {
|
||||
// PDFView.open(data, 0);
|
||||
// });
|
||||
// });
|
||||
//#endif
|
||||
|
Loading…
Reference in New Issue
Block a user