Browse Source

PDF.js version 1.0.320

master v1.0.320
Yury Delendik 11 years ago
parent
commit
17064f6863
  1. 2
      bower.json
  2. 222
      build/pdf.combined.js
  3. 159
      build/pdf.js
  4. 85
      build/pdf.worker.js
  5. 2
      package.json

2
bower.json

@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
{
"name": "pdfjs-dist",
"version": "1.0.312",
"version": "1.0.320",
"keywords": [
"Mozilla",
"pdf",

222
build/pdf.combined.js

@ -21,8 +21,8 @@ if (typeof PDFJS === 'undefined') { @@ -21,8 +21,8 @@ if (typeof PDFJS === 'undefined') {
(typeof window !== 'undefined' ? window : this).PDFJS = {};
}
PDFJS.version = '1.0.312';
PDFJS.build = '12bfd20';
PDFJS.version = '1.0.320';
PDFJS.build = 'b2d8e73';
(function pdfjsWrapper() {
// Use strict in our context only - users might not want it
@ -937,15 +937,15 @@ function isBool(v) { @@ -937,15 +937,15 @@ function isBool(v) {
}
function isInt(v) {
return typeof v == 'number' && ((v | 0) == v);
return typeof v === 'number' && ((v | 0) === v);
}
function isNum(v) {
return typeof v == 'number';
return typeof v === 'number';
}
function isString(v) {
return typeof v == 'string';
return typeof v === 'string';
}
function isNull(v) {
@ -957,7 +957,7 @@ function isName(v) { @@ -957,7 +957,7 @@ function isName(v) {
}
function isCmd(v, cmd) {
return v instanceof Cmd && (!cmd || v.cmd == cmd);
return v instanceof Cmd && (cmd === undefined || v.cmd === cmd);
}
function isDict(v, type) {
@ -968,7 +968,7 @@ function isDict(v, type) { @@ -968,7 +968,7 @@ function isDict(v, type) {
return true;
}
var dictType = v.get('Type');
return isName(dictType) && dictType.name == type;
return isName(dictType) && dictType.name === type;
}
function isArray(v) {
@ -976,13 +976,11 @@ function isArray(v) { @@ -976,13 +976,11 @@ function isArray(v) {
}
function isStream(v) {
return typeof v == 'object' && v !== null && v !== undefined &&
('getBytes' in v);
return typeof v === 'object' && v !== null && v.getBytes !== undefined;
}
function isArrayBuffer(v) {
return typeof v == 'object' && v !== null && v !== undefined &&
('byteLength' in v);
return typeof v === 'object' && v !== null && v.byteLength !== undefined;
}
function isRef(v) {
@ -1323,7 +1321,7 @@ PDFJS.createPromiseCapability = createPromiseCapability; @@ -1323,7 +1321,7 @@ PDFJS.createPromiseCapability = createPromiseCapability;
HandlerManager.scheduleHandlers(this);
return nextPromise;
},
catch: function Promise_catch(onReject) {
return this.then(undefined, onReject);
}
@ -4064,6 +4062,8 @@ var CanvasGraphics = (function CanvasGraphicsClosure() { @@ -4064,6 +4062,8 @@ var CanvasGraphics = (function CanvasGraphicsClosure() {
// Defines the time the executeOperatorList is going to be executing
// before it stops and shedules a continue of execution.
var EXECUTION_TIME = 15;
// Defines the number of steps before checking the execution time
var EXECUTION_STEPS = 10;
function CanvasGraphics(canvasCtx, commonObjs, objs, imageLayer) {
this.ctx = canvasCtx;
@ -4269,49 +4269,54 @@ var CanvasGraphics = (function CanvasGraphicsClosure() { @@ -4269,49 +4269,54 @@ var CanvasGraphics = (function CanvasGraphicsClosure() {
}
}
function composeSMaskBackdrop(bytes, r0, g0, b0) {
var length = bytes.length;
for (var i = 3; i < length; i += 4) {
var alpha = bytes[i];
if (alpha === 0) {
bytes[i - 3] = r0;
bytes[i - 2] = g0;
bytes[i - 1] = b0;
} else if (alpha < 255) {
var alpha_ = 255 - alpha;
bytes[i - 3] = (bytes[i - 3] * alpha + r0 * alpha_) >> 8;
bytes[i - 2] = (bytes[i - 2] * alpha + g0 * alpha_) >> 8;
bytes[i - 1] = (bytes[i - 1] * alpha + b0 * alpha_) >> 8;
}
}
}
function composeSMaskAlpha(maskData, layerData) {
var length = maskData.length;
var scale = 1 / 255;
for (var i = 3; i < length; i += 4) {
var alpha = maskData[i];
layerData[i] = (layerData[i] * alpha * scale) | 0;
}
}
function composeSMaskLuminosity(maskData, layerData) {
var length = maskData.length;
for (var i = 3; i < length; i += 4) {
var y = ((maskData[i - 3] * 77) + // * 0.3 / 255 * 0x10000
(maskData[i - 2] * 152) + // * 0.59 ....
(maskData[i - 1] * 28)) | 0; // * 0.11 ....
layerData[i] = (layerData[i] * y) >> 16;
}
}
function genericComposeSMask(maskCtx, layerCtx, width, height,
subtype, backdrop) {
var addBackdropFn;
if (backdrop) {
addBackdropFn = function (r0, g0, b0, bytes) {
var length = bytes.length;
for (var i = 3; i < length; i += 4) {
var alpha = bytes[i] / 255;
if (alpha === 0) {
bytes[i - 3] = r0;
bytes[i - 2] = g0;
bytes[i - 1] = b0;
} else if (alpha < 1) {
var alpha_ = 1 - alpha;
bytes[i - 3] = (bytes[i - 3] * alpha + r0 * alpha_) | 0;
bytes[i - 2] = (bytes[i - 2] * alpha + g0 * alpha_) | 0;
bytes[i - 1] = (bytes[i - 1] * alpha + b0 * alpha_) | 0;
}
}
}.bind(null, backdrop[0], backdrop[1], backdrop[2]);
} else {
addBackdropFn = function () {};
}
var hasBackdrop = backdrop !== undefined;
var r0 = hasBackdrop ? backdrop[0] : 0;
var g0 = hasBackdrop ? backdrop[1] : 0;
var b0 = hasBackdrop ? backdrop[2] : 0;
var composeFn;
if (subtype === 'Luminosity') {
composeFn = function (maskDataBytes, layerDataBytes) {
var length = maskDataBytes.length;
for (var i = 3; i < length; i += 4) {
var y = ((maskDataBytes[i - 3] * 77) + // * 0.3 / 255 * 0x10000
(maskDataBytes[i - 2] * 152) + // * 0.59 ....
(maskDataBytes[i - 1] * 28)) | 0; // * 0.11 ....
layerDataBytes[i] = (layerDataBytes[i] * y) >> 16;
}
};
composeFn = composeSMaskLuminosity;
} else {
composeFn = function (maskDataBytes, layerDataBytes) {
var length = maskDataBytes.length;
for (var i = 3; i < length; i += 4) {
var alpha = maskDataBytes[i];
layerDataBytes[i] = (layerDataBytes[i] * alpha / 255) | 0;
}
};
composeFn = composeSMaskAlpha;
}
// processing image in chunks to save memory
@ -4322,7 +4327,9 @@ var CanvasGraphics = (function CanvasGraphicsClosure() { @@ -4322,7 +4327,9 @@ var CanvasGraphics = (function CanvasGraphicsClosure() {
var maskData = maskCtx.getImageData(0, row, width, chunkHeight);
var layerData = layerCtx.getImageData(0, row, width, chunkHeight);
addBackdropFn(maskData.data);
if (hasBackdrop) {
composeSMaskBackdrop(maskData.data, r0, g0, b0);
}
composeFn(maskData.data, layerData.data);
maskCtx.putImageData(layerData, 0, row);
@ -4396,18 +4403,21 @@ var CanvasGraphics = (function CanvasGraphicsClosure() { @@ -4396,18 +4403,21 @@ var CanvasGraphics = (function CanvasGraphicsClosure() {
var argsArrayLen = argsArray.length;
// Sometimes the OperatorList to execute is empty.
if (argsArrayLen == i) {
if (argsArrayLen === i) {
return i;
}
var endTime = Date.now() + EXECUTION_TIME;
var chunkOperations = (argsArrayLen - i > EXECUTION_STEPS &&
typeof continueCallback === 'function');
var endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0;
var steps = 0;
var commonObjs = this.commonObjs;
var objs = this.objs;
var fnId;
while (true) {
if (stepper && i === stepper.nextBreakPoint) {
if (stepper !== undefined && i === stepper.nextBreakPoint) {
stepper.breakIt(i, continueCallback);
return i;
}
@ -4420,16 +4430,13 @@ var CanvasGraphics = (function CanvasGraphicsClosure() { @@ -4420,16 +4430,13 @@ var CanvasGraphics = (function CanvasGraphicsClosure() {
var deps = argsArray[i];
for (var n = 0, nn = deps.length; n < nn; n++) {
var depObjId = deps[n];
var common = depObjId.substring(0, 2) == 'g_';
var common = depObjId[0] === 'g' && depObjId[1] === '_';
var objsPool = common ? commonObjs : objs;
// If the promise isn't resolved yet, add the continueCallback
// to the promise and bail out.
if (!common && !objs.isResolved(depObjId)) {
objs.get(depObjId, continueCallback);
return i;
}
if (common && !commonObjs.isResolved(depObjId)) {
commonObjs.get(depObjId, continueCallback);
if (!objsPool.isResolved(depObjId)) {
objsPool.get(depObjId, continueCallback);
return i;
}
}
@ -4438,15 +4445,18 @@ var CanvasGraphics = (function CanvasGraphicsClosure() { @@ -4438,15 +4445,18 @@ var CanvasGraphics = (function CanvasGraphicsClosure() {
i++;
// If the entire operatorList was executed, stop as were done.
if (i == argsArrayLen) {
if (i === argsArrayLen) {
return i;
}
// If the execution took longer then a certain amount of time and
// `continueCallback` is specified, interrupt the execution.
if (continueCallback && Date.now() > endTime) {
continueCallback();
return i;
if (chunkOperations && ++steps > EXECUTION_STEPS) {
if (Date.now() > endTime) {
continueCallback();
return i;
}
steps = 0;
}
// If the operatorList isn't executed completely yet OR the execution
@ -4605,18 +4615,15 @@ var CanvasGraphics = (function CanvasGraphicsClosure() { @@ -4605,18 +4615,15 @@ var CanvasGraphics = (function CanvasGraphicsClosure() {
var old = this.current;
this.stateStack.push(old);
this.current = old.clone();
if (this.current.activeSMask) {
this.current.activeSMask = null;
}
this.current.activeSMask = null;
},
restore: function CanvasGraphics_restore() {
var prev = this.stateStack.pop();
if (prev) {
if (this.current.activeSMask) {
if (this.stateStack.length !== 0) {
if (this.current.activeSMask !== null) {
this.endSMaskGroup();
}
this.current = prev;
this.current = this.stateStack.pop();
this.ctx.restore();
}
},
@ -5172,7 +5179,7 @@ var CanvasGraphics = (function CanvasGraphicsClosure() { @@ -5172,7 +5179,7 @@ var CanvasGraphics = (function CanvasGraphicsClosure() {
// Color
getColorN_Pattern: function CanvasGraphics_getColorN_Pattern(IR) {
var pattern;
if (IR[0] == 'TilingPattern') {
if (IR[0] === 'TilingPattern') {
var color = IR[1];
pattern = new TilingPattern(IR, color, this.ctx, this.objs,
this.commonObjs, this.baseTransform);
@ -5248,13 +5255,13 @@ var CanvasGraphics = (function CanvasGraphicsClosure() { @@ -5248,13 +5255,13 @@ var CanvasGraphics = (function CanvasGraphicsClosure() {
this.save();
this.baseTransformStack.push(this.baseTransform);
if (matrix && isArray(matrix) && 6 == matrix.length) {
if (isArray(matrix) && 6 === matrix.length) {
this.transform.apply(this, matrix);
}
this.baseTransform = this.ctx.mozCurrentTransform;
if (bbox && isArray(bbox) && 4 == bbox.length) {
if (isArray(bbox) && 4 === bbox.length) {
var width = bbox[2] - bbox[0];
var height = bbox[3] - bbox[1];
this.rectangle(bbox[0], bbox[1], width, height);
@ -5406,7 +5413,7 @@ var CanvasGraphics = (function CanvasGraphicsClosure() { @@ -5406,7 +5413,7 @@ var CanvasGraphics = (function CanvasGraphicsClosure() {
matrix) {
this.save();
if (rect && isArray(rect) && 4 == rect.length) {
if (isArray(rect) && 4 === rect.length) {
var width = rect[2] - rect[0];
var height = rect[3] - rect[1];
this.rectangle(rect[0], rect[1], width, height);
@ -5724,7 +5731,7 @@ var CanvasGraphics = (function CanvasGraphicsClosure() { @@ -5724,7 +5731,7 @@ var CanvasGraphics = (function CanvasGraphicsClosure() {
consumePath: function CanvasGraphics_consumePath() {
var ctx = this.ctx;
if (this.pendingClip) {
if (this.pendingClip == EO_CLIP) {
if (this.pendingClip === EO_CLIP) {
if (ctx.mozFillRule !== undefined) {
ctx.mozFillRule = 'evenodd';
ctx.clip();
@ -20569,11 +20576,11 @@ var PartialEvaluator = (function PartialEvaluatorClosure() { @@ -20569,11 +20576,11 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
var dict = (isStream(pattern) ? pattern.dict : pattern);
var typeNum = dict.get('PatternType');
if (typeNum == TILING_PATTERN) {
if (typeNum === TILING_PATTERN) {
var color = cs.base ? cs.base.getRgb(args, 0) : null;
return this.handleTilingType(fn, color, resources, pattern,
dict, operatorList);
} else if (typeNum == SHADING_PATTERN) {
} else if (typeNum === SHADING_PATTERN) {
var shading = dict.get('Shading');
var matrix = dict.get('Matrix');
pattern = Pattern.parseShading(shading, matrix, xref, resources);
@ -20947,7 +20954,7 @@ var PartialEvaluator = (function PartialEvaluatorClosure() { @@ -20947,7 +20954,7 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
}
var glyphUnicode = glyph.unicode;
if (glyphUnicode in NormalizedUnicodes) {
if (NormalizedUnicodes[glyphUnicode] !== undefined) {
glyphUnicode = NormalizedUnicodes[glyphUnicode];
}
glyphUnicode = reverseIfRtl(glyphUnicode);
@ -21479,7 +21486,7 @@ var PartialEvaluator = (function PartialEvaluatorClosure() { @@ -21479,7 +21486,7 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
var composite = false;
var uint8array;
if (type.name == 'Type0') {
if (type.name === 'Type0') {
// If font is a composite
// - get the descendant font
// - set the type according to the descendant font
@ -21545,7 +21552,7 @@ var PartialEvaluator = (function PartialEvaluatorClosure() { @@ -21545,7 +21552,7 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
var properties;
if (!descriptor) {
if (type.name == 'Type3') {
if (type.name === 'Type3') {
// FontDescriptor is only required for Type3 fonts when the document
// is a tagged pdf. Create a barbebones one to get by.
descriptor = new Dict(null);
@ -22074,7 +22081,7 @@ var EvaluatorPreprocessor = (function EvaluatorPreprocessorClosure() { @@ -22074,7 +22081,7 @@ var EvaluatorPreprocessor = (function EvaluatorPreprocessorClosure() {
}
if (!isCmd(obj)) {
// argument
if (obj !== null && obj !== undefined) {
if (obj !== null) {
args.push((obj instanceof Dict ? obj.getAll() : obj));
assert(args.length <= 33, 'Too many arguments');
}
@ -22090,37 +22097,32 @@ var EvaluatorPreprocessor = (function EvaluatorPreprocessorClosure() { @@ -22090,37 +22097,32 @@ var EvaluatorPreprocessor = (function EvaluatorPreprocessorClosure() {
}
var fn = opSpec.id;
// Some post script commands can be nested, e.g. /F2 /GS2 gs 5.711 Tf
if (!opSpec.variableArgs && args.length !== opSpec.numArgs) {
while (args.length > opSpec.numArgs) {
this.nonProcessedArgs.push(args.shift());
}
while (args.length < opSpec.numArgs && this.nonProcessedArgs.length) {
args.unshift(this.nonProcessedArgs.pop());
var numArgs = opSpec.numArgs;
if (!opSpec.variableArgs) {
// Some post script commands can be nested, e.g. /F2 /GS2 gs 5.711 Tf
if (args.length !== numArgs) {
var nonProcessedArgs = this.nonProcessedArgs;
while (args.length > numArgs) {
nonProcessedArgs.push(args.shift());
}
while (args.length < numArgs && nonProcessedArgs.length !== 0) {
args.unshift(nonProcessedArgs.pop());
}
}
}
// Validate the number of arguments for the command
if (opSpec.variableArgs) {
if (args.length > opSpec.numArgs) {
info('Command ' + fn + ': expected [0,' + opSpec.numArgs +
'] args, but received ' + args.length + ' args');
}
} else {
if (args.length < opSpec.numArgs) {
if (args.length < numArgs) {
// If we receive too few args, it's not possible to possible
// to execute the command, so skip the command
info('Command ' + fn + ': because expected ' +
opSpec.numArgs + ' args, but received ' + args.length +
numArgs + ' args, but received ' + args.length +
' args; skipping');
args = [];
continue;
} else if (args.length > opSpec.numArgs) {
info('Command ' + fn + ': expected ' + opSpec.numArgs +
' args, but received ' + args.length + ' args');
}
} else if (args.length > numArgs) {
info('Command ' + fn + ': expected [0,' + numArgs +
'] args, but received ' + args.length + ' args');
}
// TODO figure out how to type-check vararg functions
@ -22165,9 +22167,9 @@ var QueueOptimizer = (function QueueOptimizerClosure() { @@ -22165,9 +22167,9 @@ var QueueOptimizer = (function QueueOptimizerClosure() {
// have been found at index.
for (var i = 0; i < count; i++) {
var arg = argsArray[index + 4 * i + 2];
var imageMask = arg.length == 1 && arg[0];
if (imageMask && imageMask.width == 1 && imageMask.height == 1 &&
(!imageMask.data.length || (imageMask.data.length == 1 &&
var imageMask = arg.length === 1 && arg[0];
if (imageMask && imageMask.width === 1 && imageMask.height === 1 &&
(!imageMask.data.length || (imageMask.data.length === 1 &&
imageMask.data[0] === 0))) {
fnArray[index + 4 * i + 2] = OPS.paintSolidColorImageMask;
continue;
@ -39491,19 +39493,19 @@ var Lexer = (function LexerClosure() { @@ -39491,19 +39493,19 @@ var Lexer = (function LexerClosure() {
// command
var str = String.fromCharCode(ch);
var knownCommands = this.knownCommands;
var knownCommandFound = knownCommands && (str in knownCommands);
var knownCommandFound = knownCommands && knownCommands[str] !== undefined;
while ((ch = this.nextChar()) >= 0 && !specialChars[ch]) {
// stop if known command is found and next character does not make
// the str a command
var possibleCommand = str + String.fromCharCode(ch);
if (knownCommandFound && !(possibleCommand in knownCommands)) {
if (knownCommandFound && knownCommands[possibleCommand] === undefined) {
break;
}
if (str.length === 128) {
error('Command token too long: ' + str.length);
}
str = possibleCommand;
knownCommandFound = knownCommands && (str in knownCommands);
knownCommandFound = knownCommands && knownCommands[str] !== undefined;
}
if (str === 'true') {
return true;

159
build/pdf.js

@ -21,8 +21,8 @@ if (typeof PDFJS === 'undefined') { @@ -21,8 +21,8 @@ if (typeof PDFJS === 'undefined') {
(typeof window !== 'undefined' ? window : this).PDFJS = {};
}
PDFJS.version = '1.0.312';
PDFJS.build = '12bfd20';
PDFJS.version = '1.0.320';
PDFJS.build = 'b2d8e73';
(function pdfjsWrapper() {
// Use strict in our context only - users might not want it
@ -937,15 +937,15 @@ function isBool(v) { @@ -937,15 +937,15 @@ function isBool(v) {
}
function isInt(v) {
return typeof v == 'number' && ((v | 0) == v);
return typeof v === 'number' && ((v | 0) === v);
}
function isNum(v) {
return typeof v == 'number';
return typeof v === 'number';
}
function isString(v) {
return typeof v == 'string';
return typeof v === 'string';
}
function isNull(v) {
@ -957,7 +957,7 @@ function isName(v) { @@ -957,7 +957,7 @@ function isName(v) {
}
function isCmd(v, cmd) {
return v instanceof Cmd && (!cmd || v.cmd == cmd);
return v instanceof Cmd && (cmd === undefined || v.cmd === cmd);
}
function isDict(v, type) {
@ -968,7 +968,7 @@ function isDict(v, type) { @@ -968,7 +968,7 @@ function isDict(v, type) {
return true;
}
var dictType = v.get('Type');
return isName(dictType) && dictType.name == type;
return isName(dictType) && dictType.name === type;
}
function isArray(v) {
@ -976,13 +976,11 @@ function isArray(v) { @@ -976,13 +976,11 @@ function isArray(v) {
}
function isStream(v) {
return typeof v == 'object' && v !== null && v !== undefined &&
('getBytes' in v);
return typeof v === 'object' && v !== null && v.getBytes !== undefined;
}
function isArrayBuffer(v) {
return typeof v == 'object' && v !== null && v !== undefined &&
('byteLength' in v);
return typeof v === 'object' && v !== null && v.byteLength !== undefined;
}
function isRef(v) {
@ -1323,7 +1321,7 @@ PDFJS.createPromiseCapability = createPromiseCapability; @@ -1323,7 +1321,7 @@ PDFJS.createPromiseCapability = createPromiseCapability;
HandlerManager.scheduleHandlers(this);
return nextPromise;
},
catch: function Promise_catch(onReject) {
return this.then(undefined, onReject);
}
@ -4112,6 +4110,8 @@ var CanvasGraphics = (function CanvasGraphicsClosure() { @@ -4112,6 +4110,8 @@ var CanvasGraphics = (function CanvasGraphicsClosure() {
// Defines the time the executeOperatorList is going to be executing
// before it stops and shedules a continue of execution.
var EXECUTION_TIME = 15;
// Defines the number of steps before checking the execution time
var EXECUTION_STEPS = 10;
function CanvasGraphics(canvasCtx, commonObjs, objs, imageLayer) {
this.ctx = canvasCtx;
@ -4317,49 +4317,54 @@ var CanvasGraphics = (function CanvasGraphicsClosure() { @@ -4317,49 +4317,54 @@ var CanvasGraphics = (function CanvasGraphicsClosure() {
}
}
function composeSMaskBackdrop(bytes, r0, g0, b0) {
var length = bytes.length;
for (var i = 3; i < length; i += 4) {
var alpha = bytes[i];
if (alpha === 0) {
bytes[i - 3] = r0;
bytes[i - 2] = g0;
bytes[i - 1] = b0;
} else if (alpha < 255) {
var alpha_ = 255 - alpha;
bytes[i - 3] = (bytes[i - 3] * alpha + r0 * alpha_) >> 8;
bytes[i - 2] = (bytes[i - 2] * alpha + g0 * alpha_) >> 8;
bytes[i - 1] = (bytes[i - 1] * alpha + b0 * alpha_) >> 8;
}
}
}
function composeSMaskAlpha(maskData, layerData) {
var length = maskData.length;
var scale = 1 / 255;
for (var i = 3; i < length; i += 4) {
var alpha = maskData[i];
layerData[i] = (layerData[i] * alpha * scale) | 0;
}
}
function composeSMaskLuminosity(maskData, layerData) {
var length = maskData.length;
for (var i = 3; i < length; i += 4) {
var y = ((maskData[i - 3] * 77) + // * 0.3 / 255 * 0x10000
(maskData[i - 2] * 152) + // * 0.59 ....
(maskData[i - 1] * 28)) | 0; // * 0.11 ....
layerData[i] = (layerData[i] * y) >> 16;
}
}
function genericComposeSMask(maskCtx, layerCtx, width, height,
subtype, backdrop) {
var addBackdropFn;
if (backdrop) {
addBackdropFn = function (r0, g0, b0, bytes) {
var length = bytes.length;
for (var i = 3; i < length; i += 4) {
var alpha = bytes[i] / 255;
if (alpha === 0) {
bytes[i - 3] = r0;
bytes[i - 2] = g0;
bytes[i - 1] = b0;
} else if (alpha < 1) {
var alpha_ = 1 - alpha;
bytes[i - 3] = (bytes[i - 3] * alpha + r0 * alpha_) | 0;
bytes[i - 2] = (bytes[i - 2] * alpha + g0 * alpha_) | 0;
bytes[i - 1] = (bytes[i - 1] * alpha + b0 * alpha_) | 0;
}
}
}.bind(null, backdrop[0], backdrop[1], backdrop[2]);
} else {
addBackdropFn = function () {};
}
var hasBackdrop = backdrop !== undefined;
var r0 = hasBackdrop ? backdrop[0] : 0;
var g0 = hasBackdrop ? backdrop[1] : 0;
var b0 = hasBackdrop ? backdrop[2] : 0;
var composeFn;
if (subtype === 'Luminosity') {
composeFn = function (maskDataBytes, layerDataBytes) {
var length = maskDataBytes.length;
for (var i = 3; i < length; i += 4) {
var y = ((maskDataBytes[i - 3] * 77) + // * 0.3 / 255 * 0x10000
(maskDataBytes[i - 2] * 152) + // * 0.59 ....
(maskDataBytes[i - 1] * 28)) | 0; // * 0.11 ....
layerDataBytes[i] = (layerDataBytes[i] * y) >> 16;
}
};
composeFn = composeSMaskLuminosity;
} else {
composeFn = function (maskDataBytes, layerDataBytes) {
var length = maskDataBytes.length;
for (var i = 3; i < length; i += 4) {
var alpha = maskDataBytes[i];
layerDataBytes[i] = (layerDataBytes[i] * alpha / 255) | 0;
}
};
composeFn = composeSMaskAlpha;
}
// processing image in chunks to save memory
@ -4370,7 +4375,9 @@ var CanvasGraphics = (function CanvasGraphicsClosure() { @@ -4370,7 +4375,9 @@ var CanvasGraphics = (function CanvasGraphicsClosure() {
var maskData = maskCtx.getImageData(0, row, width, chunkHeight);
var layerData = layerCtx.getImageData(0, row, width, chunkHeight);
addBackdropFn(maskData.data);
if (hasBackdrop) {
composeSMaskBackdrop(maskData.data, r0, g0, b0);
}
composeFn(maskData.data, layerData.data);
maskCtx.putImageData(layerData, 0, row);
@ -4444,18 +4451,21 @@ var CanvasGraphics = (function CanvasGraphicsClosure() { @@ -4444,18 +4451,21 @@ var CanvasGraphics = (function CanvasGraphicsClosure() {
var argsArrayLen = argsArray.length;
// Sometimes the OperatorList to execute is empty.
if (argsArrayLen == i) {
if (argsArrayLen === i) {
return i;
}
var endTime = Date.now() + EXECUTION_TIME;
var chunkOperations = (argsArrayLen - i > EXECUTION_STEPS &&
typeof continueCallback === 'function');
var endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0;
var steps = 0;
var commonObjs = this.commonObjs;
var objs = this.objs;
var fnId;
while (true) {
if (stepper && i === stepper.nextBreakPoint) {
if (stepper !== undefined && i === stepper.nextBreakPoint) {
stepper.breakIt(i, continueCallback);
return i;
}
@ -4468,16 +4478,13 @@ var CanvasGraphics = (function CanvasGraphicsClosure() { @@ -4468,16 +4478,13 @@ var CanvasGraphics = (function CanvasGraphicsClosure() {
var deps = argsArray[i];
for (var n = 0, nn = deps.length; n < nn; n++) {
var depObjId = deps[n];
var common = depObjId.substring(0, 2) == 'g_';
var common = depObjId[0] === 'g' && depObjId[1] === '_';
var objsPool = common ? commonObjs : objs;
// If the promise isn't resolved yet, add the continueCallback
// to the promise and bail out.
if (!common && !objs.isResolved(depObjId)) {
objs.get(depObjId, continueCallback);
return i;
}
if (common && !commonObjs.isResolved(depObjId)) {
commonObjs.get(depObjId, continueCallback);
if (!objsPool.isResolved(depObjId)) {
objsPool.get(depObjId, continueCallback);
return i;
}
}
@ -4486,15 +4493,18 @@ var CanvasGraphics = (function CanvasGraphicsClosure() { @@ -4486,15 +4493,18 @@ var CanvasGraphics = (function CanvasGraphicsClosure() {
i++;
// If the entire operatorList was executed, stop as were done.
if (i == argsArrayLen) {
if (i === argsArrayLen) {
return i;
}
// If the execution took longer then a certain amount of time and
// `continueCallback` is specified, interrupt the execution.
if (continueCallback && Date.now() > endTime) {
continueCallback();
return i;
if (chunkOperations && ++steps > EXECUTION_STEPS) {
if (Date.now() > endTime) {
continueCallback();
return i;
}
steps = 0;
}
// If the operatorList isn't executed completely yet OR the execution
@ -4653,18 +4663,15 @@ var CanvasGraphics = (function CanvasGraphicsClosure() { @@ -4653,18 +4663,15 @@ var CanvasGraphics = (function CanvasGraphicsClosure() {
var old = this.current;
this.stateStack.push(old);
this.current = old.clone();
if (this.current.activeSMask) {
this.current.activeSMask = null;
}
this.current.activeSMask = null;
},
restore: function CanvasGraphics_restore() {
var prev = this.stateStack.pop();
if (prev) {
if (this.current.activeSMask) {
if (this.stateStack.length !== 0) {
if (this.current.activeSMask !== null) {
this.endSMaskGroup();
}
this.current = prev;
this.current = this.stateStack.pop();
this.ctx.restore();
}
},
@ -5220,7 +5227,7 @@ var CanvasGraphics = (function CanvasGraphicsClosure() { @@ -5220,7 +5227,7 @@ var CanvasGraphics = (function CanvasGraphicsClosure() {
// Color
getColorN_Pattern: function CanvasGraphics_getColorN_Pattern(IR) {
var pattern;
if (IR[0] == 'TilingPattern') {
if (IR[0] === 'TilingPattern') {
var color = IR[1];
pattern = new TilingPattern(IR, color, this.ctx, this.objs,
this.commonObjs, this.baseTransform);
@ -5296,13 +5303,13 @@ var CanvasGraphics = (function CanvasGraphicsClosure() { @@ -5296,13 +5303,13 @@ var CanvasGraphics = (function CanvasGraphicsClosure() {
this.save();
this.baseTransformStack.push(this.baseTransform);
if (matrix && isArray(matrix) && 6 == matrix.length) {
if (isArray(matrix) && 6 === matrix.length) {
this.transform.apply(this, matrix);
}
this.baseTransform = this.ctx.mozCurrentTransform;
if (bbox && isArray(bbox) && 4 == bbox.length) {
if (isArray(bbox) && 4 === bbox.length) {
var width = bbox[2] - bbox[0];
var height = bbox[3] - bbox[1];
this.rectangle(bbox[0], bbox[1], width, height);
@ -5454,7 +5461,7 @@ var CanvasGraphics = (function CanvasGraphicsClosure() { @@ -5454,7 +5461,7 @@ var CanvasGraphics = (function CanvasGraphicsClosure() {
matrix) {
this.save();
if (rect && isArray(rect) && 4 == rect.length) {
if (isArray(rect) && 4 === rect.length) {
var width = rect[2] - rect[0];
var height = rect[3] - rect[1];
this.rectangle(rect[0], rect[1], width, height);
@ -5772,7 +5779,7 @@ var CanvasGraphics = (function CanvasGraphicsClosure() { @@ -5772,7 +5779,7 @@ var CanvasGraphics = (function CanvasGraphicsClosure() {
consumePath: function CanvasGraphics_consumePath() {
var ctx = this.ctx;
if (this.pendingClip) {
if (this.pendingClip == EO_CLIP) {
if (this.pendingClip === EO_CLIP) {
if (ctx.mozFillRule !== undefined) {
ctx.mozFillRule = 'evenodd';
ctx.clip();

85
build/pdf.worker.js vendored

@ -21,8 +21,8 @@ if (typeof PDFJS === 'undefined') { @@ -21,8 +21,8 @@ if (typeof PDFJS === 'undefined') {
(typeof window !== 'undefined' ? window : this).PDFJS = {};
}
PDFJS.version = '1.0.312';
PDFJS.build = '12bfd20';
PDFJS.version = '1.0.320';
PDFJS.build = 'b2d8e73';
(function pdfjsWrapper() {
// Use strict in our context only - users might not want it
@ -937,15 +937,15 @@ function isBool(v) { @@ -937,15 +937,15 @@ function isBool(v) {
}
function isInt(v) {
return typeof v == 'number' && ((v | 0) == v);
return typeof v === 'number' && ((v | 0) === v);
}
function isNum(v) {
return typeof v == 'number';
return typeof v === 'number';
}
function isString(v) {
return typeof v == 'string';
return typeof v === 'string';
}
function isNull(v) {
@ -957,7 +957,7 @@ function isName(v) { @@ -957,7 +957,7 @@ function isName(v) {
}
function isCmd(v, cmd) {
return v instanceof Cmd && (!cmd || v.cmd == cmd);
return v instanceof Cmd && (cmd === undefined || v.cmd === cmd);
}
function isDict(v, type) {
@ -968,7 +968,7 @@ function isDict(v, type) { @@ -968,7 +968,7 @@ function isDict(v, type) {
return true;
}
var dictType = v.get('Type');
return isName(dictType) && dictType.name == type;
return isName(dictType) && dictType.name === type;
}
function isArray(v) {
@ -976,13 +976,11 @@ function isArray(v) { @@ -976,13 +976,11 @@ function isArray(v) {
}
function isStream(v) {
return typeof v == 'object' && v !== null && v !== undefined &&
('getBytes' in v);
return typeof v === 'object' && v !== null && v.getBytes !== undefined;
}
function isArrayBuffer(v) {
return typeof v == 'object' && v !== null && v !== undefined &&
('byteLength' in v);
return typeof v === 'object' && v !== null && v.byteLength !== undefined;
}
function isRef(v) {
@ -1323,7 +1321,7 @@ PDFJS.createPromiseCapability = createPromiseCapability; @@ -1323,7 +1321,7 @@ PDFJS.createPromiseCapability = createPromiseCapability;
HandlerManager.scheduleHandlers(this);
return nextPromise;
},
catch: function Promise_catch(onReject) {
return this.then(undefined, onReject);
}
@ -16062,11 +16060,11 @@ var PartialEvaluator = (function PartialEvaluatorClosure() { @@ -16062,11 +16060,11 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
var dict = (isStream(pattern) ? pattern.dict : pattern);
var typeNum = dict.get('PatternType');
if (typeNum == TILING_PATTERN) {
if (typeNum === TILING_PATTERN) {
var color = cs.base ? cs.base.getRgb(args, 0) : null;
return this.handleTilingType(fn, color, resources, pattern,
dict, operatorList);
} else if (typeNum == SHADING_PATTERN) {
} else if (typeNum === SHADING_PATTERN) {
var shading = dict.get('Shading');
var matrix = dict.get('Matrix');
pattern = Pattern.parseShading(shading, matrix, xref, resources);
@ -16440,7 +16438,7 @@ var PartialEvaluator = (function PartialEvaluatorClosure() { @@ -16440,7 +16438,7 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
}
var glyphUnicode = glyph.unicode;
if (glyphUnicode in NormalizedUnicodes) {
if (NormalizedUnicodes[glyphUnicode] !== undefined) {
glyphUnicode = NormalizedUnicodes[glyphUnicode];
}
glyphUnicode = reverseIfRtl(glyphUnicode);
@ -16972,7 +16970,7 @@ var PartialEvaluator = (function PartialEvaluatorClosure() { @@ -16972,7 +16970,7 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
var composite = false;
var uint8array;
if (type.name == 'Type0') {
if (type.name === 'Type0') {
// If font is a composite
// - get the descendant font
// - set the type according to the descendant font
@ -17038,7 +17036,7 @@ var PartialEvaluator = (function PartialEvaluatorClosure() { @@ -17038,7 +17036,7 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
var properties;
if (!descriptor) {
if (type.name == 'Type3') {
if (type.name === 'Type3') {
// FontDescriptor is only required for Type3 fonts when the document
// is a tagged pdf. Create a barbebones one to get by.
descriptor = new Dict(null);
@ -17567,7 +17565,7 @@ var EvaluatorPreprocessor = (function EvaluatorPreprocessorClosure() { @@ -17567,7 +17565,7 @@ var EvaluatorPreprocessor = (function EvaluatorPreprocessorClosure() {
}
if (!isCmd(obj)) {
// argument
if (obj !== null && obj !== undefined) {
if (obj !== null) {
args.push((obj instanceof Dict ? obj.getAll() : obj));
assert(args.length <= 33, 'Too many arguments');
}
@ -17583,37 +17581,32 @@ var EvaluatorPreprocessor = (function EvaluatorPreprocessorClosure() { @@ -17583,37 +17581,32 @@ var EvaluatorPreprocessor = (function EvaluatorPreprocessorClosure() {
}
var fn = opSpec.id;
// Some post script commands can be nested, e.g. /F2 /GS2 gs 5.711 Tf
if (!opSpec.variableArgs && args.length !== opSpec.numArgs) {
while (args.length > opSpec.numArgs) {
this.nonProcessedArgs.push(args.shift());
}
while (args.length < opSpec.numArgs && this.nonProcessedArgs.length) {
args.unshift(this.nonProcessedArgs.pop());
var numArgs = opSpec.numArgs;
if (!opSpec.variableArgs) {
// Some post script commands can be nested, e.g. /F2 /GS2 gs 5.711 Tf
if (args.length !== numArgs) {
var nonProcessedArgs = this.nonProcessedArgs;
while (args.length > numArgs) {
nonProcessedArgs.push(args.shift());
}
while (args.length < numArgs && nonProcessedArgs.length !== 0) {
args.unshift(nonProcessedArgs.pop());
}
}
}
// Validate the number of arguments for the command
if (opSpec.variableArgs) {
if (args.length > opSpec.numArgs) {
info('Command ' + fn + ': expected [0,' + opSpec.numArgs +
'] args, but received ' + args.length + ' args');
}
} else {
if (args.length < opSpec.numArgs) {
if (args.length < numArgs) {
// If we receive too few args, it's not possible to possible
// to execute the command, so skip the command
info('Command ' + fn + ': because expected ' +
opSpec.numArgs + ' args, but received ' + args.length +
numArgs + ' args, but received ' + args.length +
' args; skipping');
args = [];
continue;
} else if (args.length > opSpec.numArgs) {
info('Command ' + fn + ': expected ' + opSpec.numArgs +
' args, but received ' + args.length + ' args');
}
} else if (args.length > numArgs) {
info('Command ' + fn + ': expected [0,' + numArgs +
'] args, but received ' + args.length + ' args');
}
// TODO figure out how to type-check vararg functions
@ -17658,9 +17651,9 @@ var QueueOptimizer = (function QueueOptimizerClosure() { @@ -17658,9 +17651,9 @@ var QueueOptimizer = (function QueueOptimizerClosure() {
// have been found at index.
for (var i = 0; i < count; i++) {
var arg = argsArray[index + 4 * i + 2];
var imageMask = arg.length == 1 && arg[0];
if (imageMask && imageMask.width == 1 && imageMask.height == 1 &&
(!imageMask.data.length || (imageMask.data.length == 1 &&
var imageMask = arg.length === 1 && arg[0];
if (imageMask && imageMask.width === 1 && imageMask.height === 1 &&
(!imageMask.data.length || (imageMask.data.length === 1 &&
imageMask.data[0] === 0))) {
fnArray[index + 4 * i + 2] = OPS.paintSolidColorImageMask;
continue;
@ -34984,19 +34977,19 @@ var Lexer = (function LexerClosure() { @@ -34984,19 +34977,19 @@ var Lexer = (function LexerClosure() {
// command
var str = String.fromCharCode(ch);
var knownCommands = this.knownCommands;
var knownCommandFound = knownCommands && (str in knownCommands);
var knownCommandFound = knownCommands && knownCommands[str] !== undefined;
while ((ch = this.nextChar()) >= 0 && !specialChars[ch]) {
// stop if known command is found and next character does not make
// the str a command
var possibleCommand = str + String.fromCharCode(ch);
if (knownCommandFound && !(possibleCommand in knownCommands)) {
if (knownCommandFound && knownCommands[possibleCommand] === undefined) {
break;
}
if (str.length === 128) {
error('Command token too long: ' + str.length);
}
str = possibleCommand;
knownCommandFound = knownCommands && (str in knownCommands);
knownCommandFound = knownCommands && knownCommands[str] !== undefined;
}
if (str === 'true') {
return true;

2
package.json

@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
{
"name": "pdfjs-dist",
"version": "1.0.312",
"version": "1.0.320",
"description": "Generic build of Mozilla's PDF.js library.",
"keywords": [
"Mozilla",

Loading…
Cancel
Save