Browse Source

PDF.js version 2.0.157 - See mozilla/pdf.js@343f331b8b1c5f65065dc62f33991fcc59914abe

master v2.0.157
pdfjsbot 8 years ago
parent
commit
f20f0ec86a
  1. 2
      bower.json
  2. 1314
      build/pdf.combined.js
  3. 2
      build/pdf.combined.js.map
  4. 1644
      build/pdf.js
  5. 2
      build/pdf.js.map
  6. 2
      build/pdf.min.js
  7. 6
      build/pdf.worker.js
  8. 2
      build/pdf.worker.js.map
  9. 2
      build/pdf.worker.min.js
  10. 2
      lib/core/worker.js
  11. 16
      lib/display/api.js
  12. 25
      lib/display/canvas.js
  13. 4
      lib/display/global.js
  14. 16
      lib/display/pattern_helper.js
  15. 95
      lib/display/webgl.js
  16. 4
      lib/pdf.js
  17. 4
      lib/pdf.worker.js
  18. 2
      package.json

2
bower.json

@ -1,6 +1,6 @@
{ {
"name": "pdfjs-dist", "name": "pdfjs-dist",
"version": "2.0.155", "version": "2.0.157",
"main": [ "main": [
"build/pdf.js", "build/pdf.js",
"build/pdf.worker.js" "build/pdf.worker.js"

1314
build/pdf.combined.js

File diff suppressed because it is too large Load Diff

2
build/pdf.combined.js.map

File diff suppressed because one or more lines are too long

1644
build/pdf.js

File diff suppressed because it is too large Load Diff

2
build/pdf.js.map

File diff suppressed because one or more lines are too long

2
build/pdf.min.js vendored

File diff suppressed because one or more lines are too long

6
build/pdf.worker.js vendored

@ -21883,8 +21883,8 @@ exports.PostScriptCompiler = PostScriptCompiler;
"use strict"; "use strict";
var pdfjsVersion = '2.0.155'; var pdfjsVersion = '2.0.157';
var pdfjsBuild = '503bc95a'; var pdfjsBuild = '343f331b';
var pdfjsCoreWorker = __w_pdfjs_require__(72); var pdfjsCoreWorker = __w_pdfjs_require__(72);
exports.WorkerMessageHandler = pdfjsCoreWorker.WorkerMessageHandler; exports.WorkerMessageHandler = pdfjsCoreWorker.WorkerMessageHandler;
@ -22089,7 +22089,7 @@ var WorkerMessageHandler = {
var cancelXHRs = null; var cancelXHRs = null;
var WorkerTasks = []; var WorkerTasks = [];
var apiVersion = docParams.apiVersion; var apiVersion = docParams.apiVersion;
var workerVersion = '2.0.155'; var workerVersion = '2.0.157';
if (apiVersion !== null && apiVersion !== workerVersion) { if (apiVersion !== null && apiVersion !== workerVersion) {
throw new Error('The API version "' + apiVersion + '" does not match ' + ('the Worker version "' + workerVersion + '".')); throw new Error('The API version "' + apiVersion + '" does not match ' + ('the Worker version "' + workerVersion + '".'));
} }

2
build/pdf.worker.js.map vendored

File diff suppressed because one or more lines are too long

2
build/pdf.worker.min.js vendored

File diff suppressed because one or more lines are too long

2
lib/core/worker.js

@ -208,7 +208,7 @@ var WorkerMessageHandler = {
var cancelXHRs = null; var cancelXHRs = null;
var WorkerTasks = []; var WorkerTasks = [];
var apiVersion = docParams.apiVersion; var apiVersion = docParams.apiVersion;
var workerVersion = '2.0.155'; var workerVersion = '2.0.157';
if (apiVersion !== null && apiVersion !== workerVersion) { if (apiVersion !== null && apiVersion !== workerVersion) {
throw new Error('The API version "' + apiVersion + '" does not match ' + ('the Worker version "' + workerVersion + '".')); throw new Error('The API version "' + apiVersion + '" does not match ' + ('the Worker version "' + workerVersion + '".'));
} }

16
lib/display/api.js

@ -39,6 +39,8 @@ var _metadata = require('./metadata');
var _transport_stream = require('./transport_stream'); var _transport_stream = require('./transport_stream');
var _webgl = require('./webgl');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
@ -169,7 +171,7 @@ function _fetchDocument(worker, source, pdfDataRangeTransport, docId) {
if (worker.destroyed) { if (worker.destroyed) {
return Promise.reject(new Error('Worker was destroyed')); return Promise.reject(new Error('Worker was destroyed'));
} }
var apiVersion = '2.0.155'; var apiVersion = '2.0.157';
source.disableRange = (0, _dom_utils.getDefaultSetting)('disableRange'); source.disableRange = (0, _dom_utils.getDefaultSetting)('disableRange');
source.disableAutoFetch = (0, _dom_utils.getDefaultSetting)('disableAutoFetch'); source.disableAutoFetch = (0, _dom_utils.getDefaultSetting)('disableAutoFetch');
source.disableStream = (0, _dom_utils.getDefaultSetting)('disableStream'); source.disableStream = (0, _dom_utils.getDefaultSetting)('disableStream');
@ -409,6 +411,7 @@ var PDFPageProxy = function PDFPageProxyClosure() {
this.pendingCleanup = false; this.pendingCleanup = false;
var renderingIntent = params.intent === 'print' ? 'print' : 'display'; var renderingIntent = params.intent === 'print' ? 'print' : 'display';
var canvasFactory = params.canvasFactory || new _dom_utils.DOMCanvasFactory(); var canvasFactory = params.canvasFactory || new _dom_utils.DOMCanvasFactory();
var webGLContext = new _webgl.WebGLContext({ enable: !(0, _dom_utils.getDefaultSetting)('disableWebGL') });
if (!this.intentStates[renderingIntent]) { if (!this.intentStates[renderingIntent]) {
this.intentStates[renderingIntent] = Object.create(null); this.intentStates[renderingIntent] = Object.create(null);
} }
@ -445,7 +448,7 @@ var PDFPageProxy = function PDFPageProxyClosure() {
stats.timeEnd('Rendering'); stats.timeEnd('Rendering');
stats.timeEnd('Overall'); stats.timeEnd('Overall');
}; };
var internalRenderTask = new InternalRenderTask(complete, params, this.objs, this.commonObjs, intentState.operatorList, this.pageNumber, canvasFactory); var internalRenderTask = new InternalRenderTask(complete, params, this.objs, this.commonObjs, intentState.operatorList, this.pageNumber, canvasFactory, webGLContext);
internalRenderTask.useRequestAnimationFrame = renderingIntent !== 'print'; internalRenderTask.useRequestAnimationFrame = renderingIntent !== 'print';
if (!intentState.renderTasks) { if (!intentState.renderTasks) {
intentState.renderTasks = []; intentState.renderTasks = [];
@ -1413,7 +1416,7 @@ var RenderTask = function RenderTaskClosure() {
}(); }();
var InternalRenderTask = function InternalRenderTaskClosure() { var InternalRenderTask = function InternalRenderTaskClosure() {
var canvasInRendering = new WeakMap(); var canvasInRendering = new WeakMap();
function InternalRenderTask(callback, params, objs, commonObjs, operatorList, pageNumber, canvasFactory) { function InternalRenderTask(callback, params, objs, commonObjs, operatorList, pageNumber, canvasFactory, webGLContext) {
this.callback = callback; this.callback = callback;
this.params = params; this.params = params;
this.objs = objs; this.objs = objs;
@ -1422,6 +1425,7 @@ var InternalRenderTask = function InternalRenderTaskClosure() {
this.operatorList = operatorList; this.operatorList = operatorList;
this.pageNumber = pageNumber; this.pageNumber = pageNumber;
this.canvasFactory = canvasFactory; this.canvasFactory = canvasFactory;
this.webGLContext = webGLContext;
this.running = false; this.running = false;
this.graphicsReadyCallback = null; this.graphicsReadyCallback = null;
this.graphicsReady = false; this.graphicsReady = false;
@ -1451,7 +1455,7 @@ var InternalRenderTask = function InternalRenderTaskClosure() {
this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint(); this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();
} }
var params = this.params; var params = this.params;
this.gfx = new _canvas.CanvasGraphics(params.canvasContext, this.commonObjs, this.objs, this.canvasFactory, params.imageLayer); this.gfx = new _canvas.CanvasGraphics(params.canvasContext, this.commonObjs, this.objs, this.canvasFactory, this.webGLContext, params.imageLayer);
this.gfx.beginDrawing({ this.gfx.beginDrawing({
transform: params.transform, transform: params.transform,
viewport: params.viewport, viewport: params.viewport,
@ -1526,8 +1530,8 @@ var InternalRenderTask = function InternalRenderTaskClosure() {
}(); }();
var version, build; var version, build;
{ {
exports.version = version = '2.0.155'; exports.version = version = '2.0.157';
exports.build = build = '503bc95a'; exports.build = build = '343f331b';
} }
exports.getDocument = getDocument; exports.getDocument = getDocument;
exports.LoopbackPort = LoopbackPort; exports.LoopbackPort = LoopbackPort;

25
lib/display/canvas.js

@ -23,8 +23,6 @@ var _util = require('../shared/util');
var _pattern_helper = require('./pattern_helper'); var _pattern_helper = require('./pattern_helper');
var _webgl = require('./webgl');
var MIN_FONT_SIZE = 16; var MIN_FONT_SIZE = 16;
var MAX_FONT_SIZE = 100; var MAX_FONT_SIZE = 100;
var MAX_GROUP_SIZE = 4096; var MAX_GROUP_SIZE = 4096;
@ -321,7 +319,7 @@ var CanvasExtraState = function CanvasExtraStateClosure() {
var CanvasGraphics = function CanvasGraphicsClosure() { var CanvasGraphics = function CanvasGraphicsClosure() {
var EXECUTION_TIME = 15; var EXECUTION_TIME = 15;
var EXECUTION_STEPS = 10; var EXECUTION_STEPS = 10;
function CanvasGraphics(canvasCtx, commonObjs, objs, canvasFactory, imageLayer) { function CanvasGraphics(canvasCtx, commonObjs, objs, canvasFactory, webGLContext, imageLayer) {
this.ctx = canvasCtx; this.ctx = canvasCtx;
this.current = new CanvasExtraState(); this.current = new CanvasExtraState();
this.stateStack = []; this.stateStack = [];
@ -332,6 +330,7 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
this.commonObjs = commonObjs; this.commonObjs = commonObjs;
this.objs = objs; this.objs = objs;
this.canvasFactory = canvasFactory; this.canvasFactory = canvasFactory;
this.webGLContext = webGLContext;
this.imageLayer = imageLayer; this.imageLayer = imageLayer;
this.groupStack = []; this.groupStack = [];
this.processingType3 = null; this.processingType3 = null;
@ -552,15 +551,19 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
maskCtx.putImageData(layerData, 0, row); maskCtx.putImageData(layerData, 0, row);
} }
} }
function composeSMask(ctx, smask, layerCtx) { function composeSMask(ctx, smask, layerCtx, webGLContext) {
var mask = smask.canvas; var mask = smask.canvas;
var maskCtx = smask.context; var maskCtx = smask.context;
ctx.setTransform(smask.scaleX, 0, 0, smask.scaleY, smask.offsetX, smask.offsetY); ctx.setTransform(smask.scaleX, 0, 0, smask.scaleY, smask.offsetX, smask.offsetY);
var backdrop = smask.backdrop || null; var backdrop = smask.backdrop || null;
if (!smask.transferMap && _webgl.WebGLUtils.isEnabled) { if (!smask.transferMap && webGLContext.isEnabled) {
var composed = _webgl.WebGLUtils.composeSMask(layerCtx.canvas, mask, { var composed = webGLContext.composeSMask({
subtype: smask.subtype, layer: layerCtx.canvas,
backdrop: backdrop mask: mask,
properties: {
subtype: smask.subtype,
backdrop: backdrop
}
}); });
ctx.setTransform(1, 0, 0, 1, 0, 0); ctx.setTransform(1, 0, 0, 1, 0, 0);
ctx.drawImage(composed, smask.offsetX, smask.offsetY); ctx.drawImage(composed, smask.offsetX, smask.offsetY);
@ -668,7 +671,7 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
this.transparentCanvas = null; this.transparentCanvas = null;
} }
this.cachedCanvases.clear(); this.cachedCanvases.clear();
_webgl.WebGLUtils.clear(); this.webGLContext.clear();
if (this.imageLayer) { if (this.imageLayer) {
this.imageLayer.endLayout(); this.imageLayer.endLayout();
} }
@ -776,7 +779,7 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
var groupCtx = this.ctx; var groupCtx = this.ctx;
this.groupLevel--; this.groupLevel--;
this.ctx = this.groupStack.pop(); this.ctx = this.groupStack.pop();
composeSMask(this.ctx, this.current.activeSMask, groupCtx); composeSMask(this.ctx, this.current.activeSMask, groupCtx, this.webGLContext);
this.ctx.restore(); this.ctx.restore();
this.ctx.save(); this.ctx.save();
copyCtxState(groupCtx, this.ctx); copyCtxState(groupCtx, this.ctx);
@ -799,7 +802,7 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
var groupCtx = this.ctx; var groupCtx = this.ctx;
this.groupLevel--; this.groupLevel--;
this.ctx = this.groupStack.pop(); this.ctx = this.groupStack.pop();
composeSMask(this.ctx, this.current.activeSMask, groupCtx); composeSMask(this.ctx, this.current.activeSMask, groupCtx, this.webGLContext);
this.ctx.restore(); this.ctx.restore();
copyCtxState(groupCtx, this.ctx); copyCtxState(groupCtx, this.ctx);
var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform); var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);

4
lib/display/global.js

@ -44,8 +44,8 @@ if (!_global_scope2.default.PDFJS) {
} }
var PDFJS = _global_scope2.default.PDFJS; var PDFJS = _global_scope2.default.PDFJS;
{ {
PDFJS.version = '2.0.155'; PDFJS.version = '2.0.157';
PDFJS.build = '503bc95a'; PDFJS.build = '343f331b';
} }
PDFJS.pdfBug = false; PDFJS.pdfBug = false;
if (PDFJS.verbosity !== undefined) { if (PDFJS.verbosity !== undefined) {

16
lib/display/pattern_helper.js

@ -21,8 +21,6 @@ exports.TilingPattern = exports.getShadingPatternFromIR = undefined;
var _util = require('../shared/util'); var _util = require('../shared/util');
var _webgl = require('./webgl');
var ShadingIRs = {}; var ShadingIRs = {};
ShadingIRs.RadialAxial = { ShadingIRs.RadialAxial = {
fromIR: function RadialAxial_fromIR(raw) { fromIR: function RadialAxial_fromIR(raw) {
@ -162,7 +160,7 @@ var createMeshCanvas = function createMeshCanvasClosure() {
throw new Error('illegal figure'); throw new Error('illegal figure');
} }
} }
function createMeshCanvas(bounds, combinesScale, coords, colors, figures, backgroundColor, cachedCanvases) { function createMeshCanvas(bounds, combinesScale, coords, colors, figures, backgroundColor, cachedCanvases, webGLContext) {
var EXPECTED_SCALE = 1.1; var EXPECTED_SCALE = 1.1;
var MAX_PATTERN_SIZE = 3000; var MAX_PATTERN_SIZE = 3000;
var BORDER_SIZE = 2; var BORDER_SIZE = 2;
@ -185,8 +183,14 @@ var createMeshCanvas = function createMeshCanvasClosure() {
var paddedWidth = width + BORDER_SIZE * 2; var paddedWidth = width + BORDER_SIZE * 2;
var paddedHeight = height + BORDER_SIZE * 2; var paddedHeight = height + BORDER_SIZE * 2;
var canvas, tmpCanvas, i, ii; var canvas, tmpCanvas, i, ii;
if (_webgl.WebGLUtils.isEnabled) { if (webGLContext.isEnabled) {
canvas = _webgl.WebGLUtils.drawFigures(width, height, backgroundColor, figures, context); canvas = webGLContext.drawFigures({
width: width,
height: height,
backgroundColor: backgroundColor,
figures: figures,
context: context
});
tmpCanvas = cachedCanvases.getCanvas('mesh', paddedWidth, paddedHeight, false); tmpCanvas = cachedCanvases.getCanvas('mesh', paddedWidth, paddedHeight, false);
tmpCanvas.context.drawImage(canvas, BORDER_SIZE, BORDER_SIZE); tmpCanvas.context.drawImage(canvas, BORDER_SIZE, BORDER_SIZE);
canvas = tmpCanvas.canvas; canvas = tmpCanvas.canvas;
@ -240,7 +244,7 @@ ShadingIRs.Mesh = {
scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]]; scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]];
} }
} }
var temporaryPatternCanvas = createMeshCanvas(bounds, scale, coords, colors, figures, shadingFill ? null : background, owner.cachedCanvases); var temporaryPatternCanvas = createMeshCanvas(bounds, scale, coords, colors, figures, shadingFill ? null : background, owner.cachedCanvases, owner.webGLContext);
if (!shadingFill) { if (!shadingFill) {
ctx.setTransform.apply(ctx, owner.baseTransform); ctx.setTransform.apply(ctx, owner.baseTransform);
if (matrix) { if (matrix) {

95
lib/display/webgl.js

@ -17,12 +17,63 @@
Object.defineProperty(exports, "__esModule", { Object.defineProperty(exports, "__esModule", {
value: true value: true
}); });
exports.WebGLUtils = undefined; exports.WebGLContext = undefined;
var _dom_utils = require('./dom_utils'); var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _util = require('../shared/util'); var _util = require('../shared/util');
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var WebGLContext = function () {
function WebGLContext(_ref) {
var _ref$enable = _ref.enable,
enable = _ref$enable === undefined ? false : _ref$enable;
_classCallCheck(this, WebGLContext);
this._enabled = enable === true;
}
_createClass(WebGLContext, [{
key: 'composeSMask',
value: function composeSMask(_ref2) {
var layer = _ref2.layer,
mask = _ref2.mask,
properties = _ref2.properties;
return WebGLUtils.composeSMask(layer, mask, properties);
}
}, {
key: 'drawFigures',
value: function drawFigures(_ref3) {
var width = _ref3.width,
height = _ref3.height,
backgroundColor = _ref3.backgroundColor,
figures = _ref3.figures,
context = _ref3.context;
return WebGLUtils.drawFigures(width, height, backgroundColor, figures, context);
}
}, {
key: 'clear',
value: function clear() {
WebGLUtils.cleanup();
}
}, {
key: 'isEnabled',
get: function get() {
var enabled = this._enabled;
if (enabled) {
enabled = WebGLUtils.tryInitGL();
}
return (0, _util.shadow)(this, 'isEnabled', enabled);
}
}]);
return WebGLContext;
}();
var WebGLUtils = function WebGLUtilsClosure() { var WebGLUtils = function WebGLUtilsClosure() {
function loadShader(gl, code, shaderType) { function loadShader(gl, code, shaderType) {
var shader = gl.createShader(shaderType); var shader = gl.createShader(shaderType);
@ -343,33 +394,29 @@ var WebGLUtils = function WebGLUtilsClosure() {
gl.deleteBuffer(colorsBuffer); gl.deleteBuffer(colorsBuffer);
return canvas; return canvas;
} }
function cleanup() {
if (smaskCache && smaskCache.canvas) {
smaskCache.canvas.width = 0;
smaskCache.canvas.height = 0;
}
if (figuresCache && figuresCache.canvas) {
figuresCache.canvas.width = 0;
figuresCache.canvas.height = 0;
}
smaskCache = null;
figuresCache = null;
}
return { return {
get isEnabled() { tryInitGL: function tryInitGL() {
if ((0, _dom_utils.getDefaultSetting)('disableWebGL')) {
return false;
}
var enabled = false;
try { try {
generateGL(); generateGL();
enabled = !!currentGL; return !!currentGL;
} catch (e) {} } catch (ex) {}
return (0, _util.shadow)(this, 'isEnabled', enabled); return false;
}, },
composeSMask: composeSMask, composeSMask: composeSMask,
drawFigures: drawFigures, drawFigures: drawFigures,
clear: cleanup cleanup: function cleanup() {
if (smaskCache && smaskCache.canvas) {
smaskCache.canvas.width = 0;
smaskCache.canvas.height = 0;
}
if (figuresCache && figuresCache.canvas) {
figuresCache.canvas.width = 0;
figuresCache.canvas.height = 0;
}
smaskCache = null;
figuresCache = null;
}
}; };
}(); }();
exports.WebGLUtils = WebGLUtils; exports.WebGLContext = WebGLContext;

4
lib/pdf.js

@ -14,8 +14,8 @@
*/ */
'use strict'; 'use strict';
var pdfjsVersion = '2.0.155'; var pdfjsVersion = '2.0.157';
var pdfjsBuild = '503bc95a'; var pdfjsBuild = '343f331b';
var pdfjsSharedUtil = require('./shared/util.js'); var pdfjsSharedUtil = require('./shared/util.js');
var pdfjsDisplayGlobal = require('./display/global.js'); var pdfjsDisplayGlobal = require('./display/global.js');
var pdfjsDisplayAPI = require('./display/api.js'); var pdfjsDisplayAPI = require('./display/api.js');

4
lib/pdf.worker.js vendored

@ -14,7 +14,7 @@
*/ */
'use strict'; 'use strict';
var pdfjsVersion = '2.0.155'; var pdfjsVersion = '2.0.157';
var pdfjsBuild = '503bc95a'; var pdfjsBuild = '343f331b';
var pdfjsCoreWorker = require('./core/worker.js'); var pdfjsCoreWorker = require('./core/worker.js');
exports.WorkerMessageHandler = pdfjsCoreWorker.WorkerMessageHandler; exports.WorkerMessageHandler = pdfjsCoreWorker.WorkerMessageHandler;

2
package.json

@ -1,6 +1,6 @@
{ {
"name": "pdfjs-dist", "name": "pdfjs-dist",
"version": "2.0.155", "version": "2.0.157",
"main": "build/pdf.js", "main": "build/pdf.js",
"description": "Generic build of Mozilla's PDF.js library.", "description": "Generic build of Mozilla's PDF.js library.",
"keywords": [ "keywords": [

Loading…
Cancel
Save