Merge pull request from kkujala/master

Name anonymous functions for debugging purposes.
This commit is contained in:
Chris Jones 2011-09-23 16:46:04 -07:00
commit 54e69d59bf
4 changed files with 61 additions and 51 deletions

@ -3,7 +3,7 @@
'use strict';
var ARCFourCipher = (function() {
var ARCFourCipher = (function aRCFourCipher() {
function constructor(key) {
this.a = 0;
this.b = 0;
@ -21,7 +21,7 @@ var ARCFourCipher = (function() {
}
constructor.prototype = {
encryptBlock: function(data) {
encryptBlock: function aRCFourCipherEncryptBlock(data) {
var i, n = data.length, tmp, tmp2;
var a = this.a, b = this.b, s = this.s;
var output = new Uint8Array(n);
@ -45,7 +45,7 @@ var ARCFourCipher = (function() {
return constructor;
})();
var md5 = (function() {
var md5 = (function md5Md5() {
var r = new Uint8Array([
7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22,
5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20,
@ -129,12 +129,12 @@ var md5 = (function() {
return hash;
})();
var NullCipher = (function() {
var NullCipher = (function nullCipher() {
function constructor() {
}
constructor.prototype = {
decryptBlock: function(data) {
decryptBlock: function nullCipherDecryptBlock(data) {
return data;
}
};
@ -142,7 +142,7 @@ var NullCipher = (function() {
return constructor;
})();
var AES128Cipher = (function() {
var AES128Cipher = (function aES128Cipher() {
var rcon = new Uint8Array([
0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c,
0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a,
@ -372,7 +372,7 @@ var AES128Cipher = (function() {
}
constructor.prototype = {
decryptBlock: function(data) {
decryptBlock: function aES128CipherDecryptBlock(data) {
var i, sourceLength = data.length;
var buffer = this.buffer, bufferLength = this.bufferPosition;
// waiting for IV values -- they are at the start of the stream
@ -395,19 +395,21 @@ var AES128Cipher = (function() {
return constructor;
})();
var CipherTransform = (function() {
var CipherTransform = (function cipherTransform() {
function constructor(stringCipherConstructor, streamCipherConstructor) {
this.stringCipherConstructor = stringCipherConstructor;
this.streamCipherConstructor = streamCipherConstructor;
}
constructor.prototype = {
createStream: function(stream) {
createStream: function cipherTransformCreateStream(stream) {
var cipher = new this.streamCipherConstructor();
return new DecryptStream(stream, function(data) {
return cipher.decryptBlock(data);
});
return new DecryptStream(stream,
function cipherTransformDecryptStream(data) {
return cipher.decryptBlock(data);
}
);
},
decryptString: function(s) {
decryptString: function cipherTransformDecryptString(s) {
var cipher = new this.stringCipherConstructor();
var data = stringToBytes(s);
data = cipher.decryptBlock(data);
@ -417,7 +419,7 @@ var CipherTransform = (function() {
return constructor;
})();
var CipherTransformFactory = (function() {
var CipherTransformFactory = (function cipherTransformFactory() {
function prepareKeyData(fileId, password, ownerPassword, userPassword,
flags, revision, keyLength, encryptMetadata) {
var defaultPasswordBytes = new Uint8Array([
@ -552,18 +554,18 @@ var CipherTransformFactory = (function() {
if (cryptFilter != null)
cfm = cryptFilter.get('CFM');
if (!cfm || cfm.name == 'None') {
return function() {
return function cipherTransformFactoryBuildCipherConstructorNone() {
return new NullCipher();
};
}
if ('V2' == cfm.name) {
return function() {
return function cipherTransformFactoryBuildCipherConstructorV2() {
return new ARCFourCipher(
buildObjectKey(num, gen, key, false));
};
}
if ('AESV2' == cfm.name) {
return function() {
return function cipherTransformFactoryBuildCipherConstructorAESV2() {
return new AES128Cipher(
buildObjectKey(num, gen, key, true));
};
@ -573,7 +575,8 @@ var CipherTransformFactory = (function() {
}
constructor.prototype = {
createCipherTransform: function(num, gen) {
createCipherTransform: function buildCipherCreateCipherTransform(num,
gen) {
if (this.algorithm == 4) {
return new CipherTransform(
buildCipherConstructor(this.cf, this.stmf,
@ -583,7 +586,7 @@ var CipherTransformFactory = (function() {
}
// algorithms 1 and 2
var key = buildObjectKey(num, gen, this.encryptionKey, false);
var cipherConstructor = function() {
var cipherConstructor = function buildCipherCipherConstructor() {
return new ARCFourCipher(key);
};
return new CipherTransform(cipherConstructor, cipherConstructor);

@ -124,7 +124,7 @@ var serifFonts = {
var FontLoader = {
listeningForFontLoad: false,
bind: function(fonts, callback) {
bind: function fontLoaderBind(fonts, callback) {
function checkFontsLoaded() {
for (var i = 0; i < objs.length; i++) {
var fontObj = objs[i];
@ -180,7 +180,8 @@ var FontLoader = {
// loaded in a subdocument. It's expected that the load of |rules|
// has already started in this (outer) document, so that they should
// be ordered before the load in the subdocument.
prepareFontLoadEvent: function(rules, names, objs) {
prepareFontLoadEvent: function fontLoaderPrepareFontLoadEvent(rules, names,
objs) {
/** Hack begin */
// There's no event when a font has finished downloading so the
// following code is a dirty hack to 'guess' when a font is
@ -219,7 +220,7 @@ var FontLoader = {
if (!this.listeningForFontLoad) {
window.addEventListener(
'message',
function(e) {
function fontLoaderMessage(e) {
var fontNames = JSON.parse(e.data);
for (var i = 0; i < objs.length; ++i) {
var font = objs[i];
@ -247,7 +248,7 @@ var FontLoader = {
fontNamesArray += '"' + names[i] + '", ';
}
src += ' var fontNames=[' + fontNamesArray + '];\n';
src += ' window.onload = function () {\n';
src += ' window.onload = function fontLoaderOnload() {\n';
src += ' parent.postMessage(JSON.stringify(fontNames), "*");\n';
src += ' }';
src += '</script></head><body>';
@ -599,7 +600,7 @@ var Font = (function Font() {
var length = glyphs.length;
for (var n = 0; n < length; ++n)
codes.push({ unicode: glyphs[n].unicode, code: n });
codes.sort(function(a, b) {
codes.sort(function fontGetRangesSort(a, b) {
return a.unicode - b.unicode;
});
@ -928,7 +929,7 @@ var Font = (function Font() {
}
// Check that table are sorted by platformID then encodingID,
records.sort(function(a, b) {
records.sort(function fontReplaceCMapTableSort(a, b) {
return ((a.platformID << 16) + a.encodingID) -
((b.platformID << 16) + b.encodingID);
});
@ -1061,11 +1062,11 @@ var Font = (function Font() {
var itemSize, itemDecode, itemEncode;
if (isGlyphLocationsLong) {
itemSize = 4;
itemDecode = function(data, offset) {
itemDecode = function fontItemDecodeLong(data, offset) {
return (data[offset] << 24) | (data[offset + 1] << 16) |
(data[offset + 2] << 8) | data[offset + 3];
};
itemEncode = function(data, offset, value) {
itemEncode = function fontItemEncodeLong(data, offset, value) {
data[offset] = (value >>> 24) & 0xFF;
data[offset + 1] = (value >> 16) & 0xFF;
data[offset + 2] = (value >> 8) & 0xFF;
@ -1073,10 +1074,10 @@ var Font = (function Font() {
};
} else {
itemSize = 2;
itemDecode = function(data, offset) {
itemDecode = function fontItemDecode(data, offset) {
return (data[offset] << 9) | (data[offset + 1] << 1);
};
itemEncode = function(data, offset, value) {
itemEncode = function fontItemEncode(data, offset, value) {
data[offset] = (value >> 9) & 0xFF;
data[offset + 1] = (value >> 1) & 0xFF;
};
@ -1323,7 +1324,7 @@ var Font = (function Font() {
'cmap': createCMapTable(charstrings.slice(), font.glyphIds),
// Font header
'head': (function() {
'head': (function fontFieldsHead() {
return stringToArray(
'\x00\x01\x00\x00' + // Version number
'\x00\x00\x10\x00' + // fontRevision
@ -1345,7 +1346,7 @@ var Font = (function Font() {
})(),
// Horizontal header
'hhea': (function() {
'hhea': (function fontFieldsHhea() {
return stringToArray(
'\x00\x01\x00\x00' + // Version number
string16(properties.ascent) + // Typographic Ascent
@ -1368,7 +1369,7 @@ var Font = (function Font() {
})(),
// Horizontal metrics
'hmtx': (function() {
'hmtx': (function fontFieldsHmtx() {
var hmtx = '\x00\x00\x00\x00'; // Fake .notdef
for (var i = 0; i < charstrings.length; i++) {
hmtx += string16(charstrings[i].width) + string16(0);
@ -1377,7 +1378,7 @@ var Font = (function Font() {
})(),
// Maximum profile
'maxp': (function() {
'maxp': (function fontFieldsMaxp() {
return stringToArray(
'\x00\x00\x50\x00' + // Version number
string16(charstrings.length + 1)); // Num of glyphs
@ -1505,7 +1506,7 @@ var Font = (function Font() {
* program. Some of its logic depends on the Type2 charstrings
* structure.
*/
var Type1Parser = function() {
var Type1Parser = function type1Parser() {
/*
* Decrypt a Sequence of Ciphertext Bytes to Produce the Original Sequence
* of Plaintext Bytes. The function took a key as a parameter which can be
@ -2033,7 +2034,7 @@ var CFFStrings = [
var type1Parser = new Type1Parser();
var CFF = function(name, file, properties) {
var CFF = function cFF(name, file, properties) {
// Get the data block containing glyphs and subrs informations
var headerBlock = file.getBytes(properties.length1);
type1Parser.extractFontHeader(headerBlock, properties);
@ -2233,7 +2234,7 @@ CFF.prototype = {
'names': this.createCFFIndexHeader([name]),
'topDict': (function topDict(self) {
return function() {
return function cFFWrapTopDict() {
var header = '\x00\x01\x01\x01';
var dict =
'\xf8\x1b\x00' + // version
@ -2310,7 +2311,7 @@ CFF.prototype = {
'charstrings': this.createCFFIndexHeader([[0x8B, 0x0E]].concat(glyphs),
true),
'private': (function(self) {
'private': (function cFFWrapPrivate(self) {
var data =
'\x8b\x14' + // defaultWidth
'\x8b\x15'; // nominalWidth
@ -2363,7 +2364,7 @@ CFF.prototype = {
}
};
var Type2CFF = (function() {
var Type2CFF = (function type2CFF() {
// TODO: replace parsing code with the Type2Parser in font_utils.js
function constructor(file, properties) {
var bytes = file.getBytes();
@ -2503,7 +2504,9 @@ var Type2CFF = (function() {
}
// sort the array by the unicode value
charstrings.sort(function(a, b) {return a.unicode - b.unicode});
charstrings.sort(function type2CFFGetCharStringsSort(a, b) {
return a.unicode - b.unicode;
});
return charstrings;
},

10
pdf.js

@ -6466,7 +6466,7 @@ var PDFFunction = (function pDFFunction() {
return out;
};
},
constructStiched: function(fn, dict, xref) {
constructStiched: function pDFFunctionConstructStiched(fn, dict, xref) {
var domain = dict.get('Domain');
var range = dict.get('Range');
@ -6485,8 +6485,8 @@ var PDFFunction = (function pDFFunction() {
var bounds = dict.get('Bounds');
var encode = dict.get('Encode');
this.func = function(args) {
var clip = function(v, min, max) {
this.func = function pDFFunctionConstructStichedFunc(args) {
var clip = function pDFFunctionConstructStichedFuncClip(v, min, max) {
if (v > max)
v = max;
else if (v < min)
@ -6519,9 +6519,9 @@ var PDFFunction = (function pDFFunction() {
return fns[i].func([v2]);
};
},
constructPostScript: function() {
constructPostScript: function pDFFunctionConstructPostScript() {
TODO('unhandled type of function');
this.func = function() {
this.func = function pDFFunctionConstructPostScriptFunc() {
return [255, 105, 180];
};
}

@ -39,7 +39,7 @@ function load() {
var r = new XMLHttpRequest();
r.open('GET', manifestFile, false);
r.onreadystatechange = function(e) {
r.onreadystatechange = function loadOnreadystatechange(e) {
if (r.readyState == 4) {
log('done\n');
manifest = JSON.parse(r.responseText);
@ -76,7 +76,7 @@ function nextTask() {
var r = new XMLHttpRequest();
r.open('GET', task.file);
r.mozResponseType = r.responseType = 'arraybuffer';
r.onreadystatechange = function() {
r.onreadystatechange = function nextTaskOnreadystatechange() {
var failure;
if (r.readyState == 4) {
var data = r.mozResponseArrayBuffer || r.mozResponse ||
@ -99,11 +99,15 @@ function isLastPage(task) {
return (task.pageNum > task.pdfDoc.numPages);
}
function canvasToDataURL() {
return canvas.toDataURL('image/png');
}
function nextPage(task, loadError) {
var failure = loadError || '';
if (!task.pdfDoc) {
sendTaskResult(canvas.toDataURL('image/png'), task, failure);
sendTaskResult(canvasToDataURL(), task, failure);
log('done' + (failure ? ' (failed !: ' + failure + ')' : '') + '\n');
++currentTaskIdx;
nextTask();
@ -140,7 +144,7 @@ function nextPage(task, loadError) {
page.startRendering(
ctx,
function(e) {
function nextPageStartRendering(e) {
snapshotCurrentPage(task, (!failure && e) ?
('render : ' + e) : failure);
}
@ -160,13 +164,13 @@ function nextPage(task, loadError) {
function snapshotCurrentPage(task, failure) {
log('done, snapshotting... ');
sendTaskResult(canvas.toDataURL('image/png'), task, failure);
sendTaskResult(canvasToDataURL(), task, failure);
log('done' + (failure ? ' (failed !: ' + failure + ')' : '') + '\n');
// Set up the next request
var backoff = (inFlightRequests > 0) ? inFlightRequests * 10 : 0;
setTimeout(
function() {
function snapshotCurrentPageSetTimeout() {
++task.pageNum;
nextPage(task);
},
@ -215,7 +219,7 @@ function sendTaskResult(snapshot, task, failure) {
// (The POST URI is ignored atm.)
r.open('POST', '/submit_task_results', true);
r.setRequestHeader('Content-Type', 'application/json');
r.onreadystatechange = function(e) {
r.onreadystatechange = function sendTaskResultOnreadystatechange(e) {
if (r.readyState == 4) {
inFlightRequests--;
}