Browse Source

Merge pull request #8411 from Snuffleupagus/web-page-thumbnail-rm-self

Replace unnecessary `var self = this` statements with arrow functions in `web/pdf_page_view.js` and `web/pdf_thumbnail_view.js`
Tim van der Meij 8 years ago committed by GitHub
parent
commit
e9cbfbccb4
  1. 105
      web/pdf_page_view.js
  2. 48
      web/pdf_thumbnail_view.js

105
web/pdf_page_view.js

@ -356,7 +356,7 @@ var PDFPageView = (function PDFPageViewClosure() {
return this.viewport.convertToPdfPoint(x, y); return this.viewport.convertToPdfPoint(x, y);
}, },
draw: function PDFPageView_draw() { draw() {
if (this.renderingState !== RenderingStates.INITIAL) { if (this.renderingState !== RenderingStates.INITIAL) {
console.error('Must be in new state before drawing'); console.error('Must be in new state before drawing');
this.reset(); // Ensure that we reset all state to prevent issues. this.reset(); // Ensure that we reset all state to prevent issues.
@ -364,12 +364,11 @@ var PDFPageView = (function PDFPageViewClosure() {
this.renderingState = RenderingStates.RUNNING; this.renderingState = RenderingStates.RUNNING;
var self = this; let pdfPage = this.pdfPage;
var pdfPage = this.pdfPage; let div = this.div;
var div = this.div;
// Wrap the canvas so if it has a css transform for highdpi the overflow // Wrap the canvas so if it has a css transform for highdpi the overflow
// will be hidden in FF. // will be hidden in FF.
var canvasWrapper = document.createElement('div'); let canvasWrapper = document.createElement('div');
canvasWrapper.style.width = div.style.width; canvasWrapper.style.width = div.style.width;
canvasWrapper.style.height = div.style.height; canvasWrapper.style.height = div.style.height;
canvasWrapper.classList.add('canvasWrapper'); canvasWrapper.classList.add('canvasWrapper');
@ -381,10 +380,9 @@ var PDFPageView = (function PDFPageViewClosure() {
div.appendChild(canvasWrapper); div.appendChild(canvasWrapper);
} }
var textLayerDiv = null; let textLayer = null;
var textLayer = null;
if (this.textLayerFactory) { if (this.textLayerFactory) {
textLayerDiv = document.createElement('div'); let textLayerDiv = document.createElement('div');
textLayerDiv.className = 'textLayer'; textLayerDiv.className = 'textLayer';
textLayerDiv.style.width = canvasWrapper.style.width; textLayerDiv.style.width = canvasWrapper.style.width;
textLayerDiv.style.height = canvasWrapper.style.height; textLayerDiv.style.height = canvasWrapper.style.height;
@ -401,13 +399,13 @@ var PDFPageView = (function PDFPageViewClosure() {
} }
this.textLayer = textLayer; this.textLayer = textLayer;
var renderContinueCallback = null; let renderContinueCallback = null;
if (this.renderingQueue) { if (this.renderingQueue) {
renderContinueCallback = function renderContinueCallback(cont) { renderContinueCallback = (cont) => {
if (!self.renderingQueue.isHighestPriority(self)) { if (!this.renderingQueue.isHighestPriority(this)) {
self.renderingState = RenderingStates.PAUSED; this.renderingState = RenderingStates.PAUSED;
self.resume = function resumeCallback() { this.resume = () => {
self.renderingState = RenderingStates.RUNNING; this.renderingState = RenderingStates.RUNNING;
cont(); cont();
}; };
return; return;
@ -416,37 +414,37 @@ var PDFPageView = (function PDFPageViewClosure() {
}; };
} }
var finishPaintTask = function finishPaintTask(error) { let finishPaintTask = (error) => {
// The paintTask may have been replaced by a new one, so only remove // The paintTask may have been replaced by a new one, so only remove
// the reference to the paintTask if it matches the one that is // the reference to the paintTask if it matches the one that is
// triggering this callback. // triggering this callback.
if (paintTask === self.paintTask) { if (paintTask === this.paintTask) {
self.paintTask = null; this.paintTask = null;
} }
if (((typeof PDFJSDev === 'undefined' || if (((typeof PDFJSDev === 'undefined' ||
!PDFJSDev.test('PDFJS_NEXT')) && error === 'cancelled') || !PDFJSDev.test('PDFJS_NEXT')) && error === 'cancelled') ||
error instanceof RenderingCancelledException) { error instanceof RenderingCancelledException) {
self.error = null; this.error = null;
return Promise.resolve(undefined); return Promise.resolve(undefined);
} }
self.renderingState = RenderingStates.FINISHED; this.renderingState = RenderingStates.FINISHED;
if (self.loadingIconDiv) { if (this.loadingIconDiv) {
div.removeChild(self.loadingIconDiv); div.removeChild(this.loadingIconDiv);
delete self.loadingIconDiv; delete this.loadingIconDiv;
} }
self._resetZoomLayer(/* removeFromDOM = */ true); this._resetZoomLayer(/* removeFromDOM = */ true);
self.error = error; this.error = error;
self.stats = pdfPage.stats; this.stats = pdfPage.stats;
if (self.onAfterDraw) { if (this.onAfterDraw) {
self.onAfterDraw(); this.onAfterDraw();
} }
self.eventBus.dispatch('pagerendered', { this.eventBus.dispatch('pagerendered', {
source: self, source: this,
pageNumber: self.id, pageNumber: this.id,
cssTransform: false, cssTransform: false,
}); });
@ -456,13 +454,13 @@ var PDFPageView = (function PDFPageViewClosure() {
return Promise.resolve(undefined); return Promise.resolve(undefined);
}; };
var paintTask = this.renderer === RendererType.SVG ? let paintTask = this.renderer === RendererType.SVG ?
this.paintOnSvg(canvasWrapper) : this.paintOnSvg(canvasWrapper) :
this.paintOnCanvas(canvasWrapper); this.paintOnCanvas(canvasWrapper);
paintTask.onRenderContinue = renderContinueCallback; paintTask.onRenderContinue = renderContinueCallback;
this.paintTask = paintTask; this.paintTask = paintTask;
var resultPromise = paintTask.promise.then(function () { let resultPromise = paintTask.promise.then(function() {
return finishPaintTask(null).then(function () { return finishPaintTask(null).then(function () {
if (textLayer) { if (textLayer) {
pdfPage.getTextContent({ pdfPage.getTextContent({
@ -473,7 +471,7 @@ var PDFPageView = (function PDFPageViewClosure() {
}); });
} }
}); });
}, function (reason) { }, function(reason) {
return finishPaintTask(reason); return finishPaintTask(reason);
}); });
@ -583,21 +581,17 @@ var PDFPageView = (function PDFPageViewClosure() {
} }
}; };
renderTask.promise.then( renderTask.promise.then(function() {
function pdfPageRenderCallback() { showCanvas();
showCanvas(); renderCapability.resolve(undefined);
renderCapability.resolve(undefined); }, function(error) {
}, showCanvas();
function pdfPageRenderError(error) { renderCapability.reject(error);
showCanvas(); });
renderCapability.reject(error);
}
);
return result; return result;
}, },
paintOnSvg: function PDFPageView_paintOnSvg(wrapper) { paintOnSvg(wrapper) {
if (typeof PDFJSDev !== 'undefined' && if (typeof PDFJSDev !== 'undefined' &&
PDFJSDev.test('FIREFOX || MOZCENTRAL || CHROME')) { PDFJSDev.test('FIREFOX || MOZCENTRAL || CHROME')) {
// Return a mock object, to prevent errors such as e.g. // Return a mock object, to prevent errors such as e.g.
@ -609,33 +603,32 @@ var PDFPageView = (function PDFPageViewClosure() {
}; };
} }
var cancelled = false; let cancelled = false;
var ensureNotCancelled = function () { let ensureNotCancelled = () => {
if (cancelled) { if (cancelled) {
if ((typeof PDFJSDev !== 'undefined' && if ((typeof PDFJSDev !== 'undefined' &&
PDFJSDev.test('PDFJS_NEXT')) || PDFJS.pdfjsNext) { PDFJSDev.test('PDFJS_NEXT')) || PDFJS.pdfjsNext) {
throw new RenderingCancelledException( throw new RenderingCancelledException(
'Rendering cancelled, page ' + self.id, 'svg'); 'Rendering cancelled, page ' + this.id, 'svg');
} else { } else {
throw 'cancelled'; // eslint-disable-line no-throw-literal throw 'cancelled'; // eslint-disable-line no-throw-literal
} }
} }
}; };
var self = this; let pdfPage = this.pdfPage;
var pdfPage = this.pdfPage; let actualSizeViewport = this.viewport.clone({ scale: CSS_UNITS, });
var actualSizeViewport = this.viewport.clone({scale: CSS_UNITS}); let promise = pdfPage.getOperatorList().then((opList) => {
var promise = pdfPage.getOperatorList().then(function (opList) {
ensureNotCancelled(); ensureNotCancelled();
var svgGfx = new SVGGraphics(pdfPage.commonObjs, pdfPage.objs); var svgGfx = new SVGGraphics(pdfPage.commonObjs, pdfPage.objs);
return svgGfx.getSVG(opList, actualSizeViewport).then(function (svg) { return svgGfx.getSVG(opList, actualSizeViewport).then((svg) => {
ensureNotCancelled(); ensureNotCancelled();
self.svg = svg; this.svg = svg;
self.paintedViewportMap.set(svg, actualSizeViewport); this.paintedViewportMap.set(svg, actualSizeViewport);
svg.style.width = wrapper.style.width; svg.style.width = wrapper.style.width;
svg.style.height = wrapper.style.height; svg.style.height = wrapper.style.height;
self.renderingState = RenderingStates.FINISHED; this.renderingState = RenderingStates.FINISHED;
wrapper.appendChild(svg); wrapper.appendChild(svg);
}); });
}); });

48
web/pdf_thumbnail_view.js

@ -267,7 +267,7 @@ var PDFThumbnailView = (function PDFThumbnailViewClosure() {
delete this.canvas; delete this.canvas;
}, },
draw: function PDFThumbnailView_draw() { draw() {
if (this.renderingState !== RenderingStates.INITIAL) { if (this.renderingState !== RenderingStates.INITIAL) {
console.error('Must be in new state before drawing'); console.error('Must be in new state before drawing');
return Promise.resolve(undefined); return Promise.resolve(undefined);
@ -275,15 +275,14 @@ var PDFThumbnailView = (function PDFThumbnailViewClosure() {
this.renderingState = RenderingStates.RUNNING; this.renderingState = RenderingStates.RUNNING;
var renderCapability = createPromiseCapability(); let renderCapability = createPromiseCapability();
var self = this; let finishRenderTask = (error) => {
function thumbnailDrawCallback(error) {
// The renderTask may have been replaced by a new one, so only remove // The renderTask may have been replaced by a new one, so only remove
// the reference to the renderTask if it matches the one that is // the reference to the renderTask if it matches the one that is
// triggering this callback. // triggering this callback.
if (renderTask === self.renderTask) { if (renderTask === this.renderTask) {
self.renderTask = null; this.renderTask = null;
} }
if (((typeof PDFJSDev === 'undefined' || if (((typeof PDFJSDev === 'undefined' ||
@ -293,23 +292,23 @@ var PDFThumbnailView = (function PDFThumbnailViewClosure() {
return; return;
} }
self.renderingState = RenderingStates.FINISHED; this.renderingState = RenderingStates.FINISHED;
self._convertCanvasToImage(); this._convertCanvasToImage();
if (!error) { if (!error) {
renderCapability.resolve(undefined); renderCapability.resolve(undefined);
} else { } else {
renderCapability.reject(error); renderCapability.reject(error);
} }
} };
var ctx = this._getPageDrawContext(); let ctx = this._getPageDrawContext();
var drawViewport = this.viewport.clone({ scale: this.scale }); let drawViewport = this.viewport.clone({ scale: this.scale, });
var renderContinueCallback = function renderContinueCallback(cont) { let renderContinueCallback = (cont) => {
if (!self.renderingQueue.isHighestPriority(self)) { if (!this.renderingQueue.isHighestPriority(this)) {
self.renderingState = RenderingStates.PAUSED; this.renderingState = RenderingStates.PAUSED;
self.resume = function resumeCallback() { this.resume = () => {
self.renderingState = RenderingStates.RUNNING; this.renderingState = RenderingStates.RUNNING;
cont(); cont();
}; };
return; return;
@ -317,21 +316,18 @@ var PDFThumbnailView = (function PDFThumbnailViewClosure() {
cont(); cont();
}; };
var renderContext = { let renderContext = {
canvasContext: ctx, canvasContext: ctx,
viewport: drawViewport viewport: drawViewport
}; };
var renderTask = this.renderTask = this.pdfPage.render(renderContext); let renderTask = this.renderTask = this.pdfPage.render(renderContext);
renderTask.onContinue = renderContinueCallback; renderTask.onContinue = renderContinueCallback;
renderTask.promise.then( renderTask.promise.then(function() {
function pdfPageRenderCallback() { finishRenderTask(null);
thumbnailDrawCallback(null); }, function(error) {
}, finishRenderTask(error);
function pdfPageRenderError(error) { });
thumbnailDrawCallback(error);
}
);
return renderCapability.promise; return renderCapability.promise;
}, },

Loading…
Cancel
Save