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
|
#!/usr/bin/env node
|
||||||
require('./external/shelljs/make');
|
require('./external/shelljs/make');
|
||||||
|
var fs = require('fs');
|
||||||
|
var vm = require('vm');
|
||||||
|
|
||||||
var ROOT_DIR = __dirname + '/', // absolute path to project's root
|
var ROOT_DIR = __dirname + '/', // absolute path to project's root
|
||||||
BUILD_DIR = 'build/',
|
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',
|
MOZCENTRAL_STREAM_CONVERTER_ID = 'd0c5195d-e798-49d4-b1d3-9324328b2291',
|
||||||
FIREFOX_STREAM_CONVERTER_ID = '6457a96b-2d68-439a-bcfa-44465fbcdbb1';
|
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
|
// make all
|
||||||
//
|
//
|
||||||
@ -482,6 +527,49 @@ target.mozcentral = function() {
|
|||||||
cp('-Rf', 'test/mozcentral/*', MOZCENTRAL_TEST_DIR);
|
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
|
// make chrome
|
||||||
//
|
//
|
||||||
|
@ -29,9 +29,11 @@ function getPdf(arg, callback) {
|
|||||||
var params = arg;
|
var params = arg;
|
||||||
if (typeof arg === 'string')
|
if (typeof arg === 'string')
|
||||||
params = { url: arg };
|
params = { url: arg };
|
||||||
|
//#if !B2G
|
||||||
var xhr = new XMLHttpRequest();
|
var xhr = new XMLHttpRequest();
|
||||||
|
//#else
|
||||||
|
//var xhr = new XMLHttpRequest({mozSystem: true});
|
||||||
|
//#endif
|
||||||
xhr.open('GET', params.url);
|
xhr.open('GET', params.url);
|
||||||
|
|
||||||
var headers = params.headers;
|
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/jbig2.js"></script> <!-- PDFJSSCRIPT_REMOVE_CORE -->
|
||||||
<script type="text/javascript" src="../src/bidi.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 -->
|
<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="debugger.js"></script>
|
||||||
<script type="text/javascript" src="viewer.js"></script>
|
<script type="text/javascript" src="viewer.js"></script>
|
||||||
</head>
|
</head>
|
||||||
|
@ -1880,8 +1880,9 @@ window.addEventListener('load', function webViewerLoad(evt) {
|
|||||||
PDFView.sidebarOpen = outerContainer.classList.contains('sidebarOpen');
|
PDFView.sidebarOpen = outerContainer.classList.contains('sidebarOpen');
|
||||||
PDFView.renderHighestPriority();
|
PDFView.renderHighestPriority();
|
||||||
});
|
});
|
||||||
|
//#if !B2G
|
||||||
PDFView.open(file, 0);
|
PDFView.open(file, 0);
|
||||||
|
//#endif
|
||||||
}, true);
|
}, true);
|
||||||
|
|
||||||
function updateViewarea() {
|
function updateViewarea() {
|
||||||
@ -2140,3 +2141,21 @@ window.addEventListener('afterprint', function afterPrint(evt) {
|
|||||||
window.addEventListener('mozfullscreenchange', fullscreenChange, false);
|
window.addEventListener('mozfullscreenchange', fullscreenChange, false);
|
||||||
window.addEventListener('webkitfullscreenchange', 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