Merge pull request #2058 from Pimm/master

Small fixes for normal and potential post-compilation bugs
This commit is contained in:
Yury Delendik 2012-09-20 11:36:55 -07:00
commit 75e928c102
9 changed files with 53 additions and 29 deletions

View File

@ -516,6 +516,10 @@ var JpegImage = (function jpegImage() {
return lines;
}
function clampTo8bit(a) {
return a < 0 ? 0 : a > 255 ? 255 : a;
}
constructor.prototype = {
load: function load(path) {
var xhr = new XMLHttpRequest();
@ -766,9 +770,6 @@ var JpegImage = (function jpegImage() {
}
},
getData: function getData(width, height) {
function clampTo8bit(a) {
return a < 0 ? 0 : a > 255 ? 255 : a;
}
var scaleX = this.width / width, scaleY = this.height / height;
var component1, component2, component3, component4;
@ -935,4 +936,4 @@ var JpegImage = (function jpegImage() {
};
return constructor;
})();
})();

View File

@ -361,8 +361,9 @@ var PDFPageProxy = (function PDFPageProxyClosure() {
var length = this.operatorList.fnArray.length;
var operatorList = this.operatorList;
var stepper = null;
if (PDFJS.pdfBug && StepperManager.enabled) {
stepper = StepperManager.create(this.pageNumber - 1);
if (PDFJS.pdfBug && 'StepperManager' in globalScope &&
globalScope['StepperManager'].enabled) {
stepper = globalScope['StepperManager'].create(this.pageNumber - 1);
stepper.init(operatorList);
stepper.nextBreakPoint = stepper.getNextBreakPoint();
}

View File

@ -193,7 +193,7 @@ var ColorSpace = (function ColorSpaceClosure() {
return true;
if (n * 2 !== decode.length) {
warning('The decode map is not the correct length');
warn('The decode map is not the correct length');
return true;
}
for (var i = 0, ii = decode.length; i < ii; i += 2) {

View File

@ -236,7 +236,7 @@ var Page = (function PageClosure() {
},
getLinks: function Page_getLinks() {
var links = [];
var annotations = pageGetAnnotations();
var annotations = this.getAnnotations();
var i, n = annotations.length;
for (i = 0; i < n; ++i) {
if (annotations[i].type != 'Link')

View File

@ -3174,8 +3174,9 @@ var Font = (function FontClosure() {
var styleSheet = styleElement.sheet;
styleSheet.insertRule(rule, styleSheet.cssRules.length);
if (PDFJS.pdfBug && FontInspector.enabled)
FontInspector.fontAdded(this, url);
if (PDFJS.pdfBug && 'FontInspector' in globalScope &&
globalScope['FontInspector'].enabled)
globalScope['FontInspector'].fontAdded(this, url);
return rule;
},
@ -4704,7 +4705,7 @@ var CFFParser = (function CFFParserClosure() {
var data = charstring;
var length = data.length;
for (var j = 0; j <= length; j) {
for (var j = 0; j <= length;) {
var value = data[j++];
if (value == 12 && data[j++] == 0) {
data[j - 2] = 139;

View File

@ -167,7 +167,7 @@ var PDFFunction = (function PDFFunctionClosure() {
var range = IR[9];
if (m != args.length)
error('Incorrect number of arguments: ' + inputSize + ' != ' +
error('Incorrect number of arguments: ' + m + ' != ' +
args.length);
var x = args;

View File

@ -269,7 +269,8 @@ var JpxImage = (function JpxImageClosure() {
cod.resetContextProbabilities ||
cod.terminationOnEachCodingPass ||
cod.verticalyStripe || cod.predictableTermination)
throw 'Unsupported COD options: ' + uneval(cod);
throw 'Unsupported COD options: ' +
globalScope.JSON.stringify(cod);
if (context.mainHeader)
context.COD = cod;

View File

@ -19,12 +19,16 @@
// Use only for debugging purposes. This should not be used in any code that is
// in mozilla master.
function log(msg) {
if (console && console.log)
console.log(msg);
else if (print)
print(msg);
}
var log = (function() {
if ('console' in globalScope && 'log' in globalScope['console']) {
return globalScope['console']['log'].bind(globalScope['console']);
} else if ('print' in globalScope) {
return globalScope['print'].bind(globalScope);
} else {
return function nop() {
};
}
})();
// A notice for devs that will not trigger the fallback UI. These are good
// for things that are helpful to devs, such as warning that Workers were
@ -47,7 +51,16 @@ function warn(msg) {
// Fatal errors that should trigger the fallback UI and halt execution by
// throwing an exception.
function error(msg) {
log('Error: ' + msg);
// If multiple arguments were passed, pass them all to the log function.
if (arguments.length > 1) {
var logArguments = ['Error:'];
logArguments.push.apply(logArguments, arguments);
log.apply(null, logArguments);
// Join the arguments into a single string for the lines below.
msg = [].join.call(arguments, ' ');
} else {
log('Error: ' + msg);
}
log(backtrace());
PDFJS.LogManager.notify('error', msg);
throw new Error(msg);

View File

@ -25,11 +25,18 @@ function MessageHandler(name, comObj) {
var ah = this.actionHandler = {};
ah['console_log'] = [function ahConsoleLog(data) {
console.log.apply(console, data);
}];
ah['console_error'] = [function ahConsoleError(data) {
console.error.apply(console, data);
log.apply(null, data);
}];
// If there's no console available, console_error in the
// action handler will do nothing.
if ('console' in globalScope) {
ah['console_error'] = [function ahConsoleError(data) {
globalScope['console'].error.apply(null, data);
}];
} else {
ah['console_error'] = [function ahConsoleError(data) {
}];
}
ah['_warn'] = [function ah_Warn(data) {
warn(data);
}];
@ -234,7 +241,7 @@ var WorkerMessageHandler = {
return;
}
console.log('page=%d - getOperatorList: time=%dms, len=%d', pageNum,
log('page=%d - getOperatorList: time=%dms, len=%d', pageNum,
Date.now() - start, operatorList.fnArray.length);
// Filter the dependecies for fonts.
@ -266,7 +273,7 @@ var WorkerMessageHandler = {
promise.reject(e);
}
console.log('text indexing: page=%d - time=%dms',
log('text indexing: page=%d - time=%dms',
pageNum, Date.now() - start);
});
}
@ -277,7 +284,7 @@ var consoleTimer = {};
var workerConsole = {
log: function log() {
var args = Array.prototype.slice.call(arguments);
postMessage({
globalScope.postMessage({
action: 'console_log',
data: args
});
@ -285,7 +292,7 @@ var workerConsole = {
error: function error() {
var args = Array.prototype.slice.call(arguments);
postMessage({
globalScope.postMessage({
action: 'console_error',
data: args
});
@ -313,7 +320,7 @@ if (typeof window === 'undefined') {
// throw an exception which will be forwarded on automatically.
PDFJS.LogManager.addLogger({
warn: function(msg) {
postMessage({
globalScope.postMessage({
action: '_warn',
data: msg
});