Removes any usage of PDFView in the PageView
This commit is contained in:
parent
fbd7eedce8
commit
f1851c6393
@ -14,10 +14,9 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
/* globals RenderingStates, PDFView, PDFJS, mozL10n, CustomStyle,
|
/* globals RenderingStates, PDFJS, mozL10n, CustomStyle,
|
||||||
SCROLLBAR_PADDING, CSS_UNITS, UNKNOWN_SCALE, DEFAULT_SCALE,
|
SCROLLBAR_PADDING, CSS_UNITS, UNKNOWN_SCALE, DEFAULT_SCALE,
|
||||||
getOutputScale, TextLayerBuilder, scrollIntoView, Stats,
|
getOutputScale, scrollIntoView, Stats, PresentationModeState */
|
||||||
PresentationModeState */
|
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
@ -509,6 +508,7 @@ var PageView = function pageView(container, id, scale, defaultViewport,
|
|||||||
canvas._viewport = viewport;
|
canvas._viewport = viewport;
|
||||||
|
|
||||||
var textLayerDiv = null;
|
var textLayerDiv = null;
|
||||||
|
var textLayer = null;
|
||||||
if (!PDFJS.disableTextLayer) {
|
if (!PDFJS.disableTextLayer) {
|
||||||
textLayerDiv = document.createElement('div');
|
textLayerDiv = document.createElement('div');
|
||||||
textLayerDiv.className = 'textLayer';
|
textLayerDiv.className = 'textLayer';
|
||||||
@ -520,18 +520,12 @@ var PageView = function pageView(container, id, scale, defaultViewport,
|
|||||||
} else {
|
} else {
|
||||||
div.appendChild(textLayerDiv);
|
div.appendChild(textLayerDiv);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
textLayer = this.viewer.createTextLayerBuilder(textLayerDiv, this.id - 1,
|
||||||
|
this.viewport);
|
||||||
}
|
}
|
||||||
var isViewerInPresentationMode =
|
this.textLayer = textLayer;
|
||||||
this.viewer.presentationModeState === PresentationModeState.FULLSCREEN;
|
|
||||||
var textLayer = this.textLayer =
|
|
||||||
textLayerDiv ? new TextLayerBuilder({
|
|
||||||
textLayerDiv: textLayerDiv,
|
|
||||||
pageIndex: this.id - 1,
|
|
||||||
lastScrollSource: this.linkService,
|
|
||||||
viewport: this.viewport,
|
|
||||||
isViewerInPresentationMode: isViewerInPresentationMode,
|
|
||||||
findController: PDFView.findController
|
|
||||||
}) : null;
|
|
||||||
// TODO(mack): use data attributes to store these
|
// TODO(mack): use data attributes to store these
|
||||||
ctx._scaleX = outputScale.sx;
|
ctx._scaleX = outputScale.sx;
|
||||||
ctx._scaleY = outputScale.sy;
|
ctx._scaleY = outputScale.sy;
|
||||||
@ -566,22 +560,7 @@ var PageView = function pageView(container, id, scale, defaultViewport,
|
|||||||
self.zoomLayer = null;
|
self.zoomLayer = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
//#if (FIREFOX || MOZCENTRAL)
|
self.error = error;
|
||||||
// if (self.textLayer && self.textLayer.textDivs &&
|
|
||||||
// self.textLayer.textDivs.length > 0 &&
|
|
||||||
// !PDFView.supportsDocumentColors) {
|
|
||||||
// console.error(mozL10n.get('document_colors_disabled', null,
|
|
||||||
// 'PDF documents are not allowed to use their own colors: ' +
|
|
||||||
// '\'Allow pages to choose their own colors\' ' +
|
|
||||||
// 'is deactivated in the browser.'));
|
|
||||||
// PDFView.fallback();
|
|
||||||
// }
|
|
||||||
//#endif
|
|
||||||
if (error) {
|
|
||||||
PDFView.error(mozL10n.get('rendering_error', null,
|
|
||||||
'An error occurred while rendering the page.'), error);
|
|
||||||
}
|
|
||||||
|
|
||||||
self.stats = pdfPage.stats;
|
self.stats = pdfPage.stats;
|
||||||
self.updateStats();
|
self.updateStats();
|
||||||
if (self.onAfterDraw) {
|
if (self.onAfterDraw) {
|
||||||
@ -594,18 +573,6 @@ var PageView = function pageView(container, id, scale, defaultViewport,
|
|||||||
});
|
});
|
||||||
div.dispatchEvent(event);
|
div.dispatchEvent(event);
|
||||||
|
|
||||||
//#if (FIREFOX || MOZCENTRAL)
|
|
||||||
// FirefoxCom.request('reportTelemetry', JSON.stringify({
|
|
||||||
// type: 'pageInfo'
|
|
||||||
// }));
|
|
||||||
// // It is a good time to report stream and font types
|
|
||||||
// PDFView.pdfDocument.getStats().then(function (stats) {
|
|
||||||
// FirefoxCom.request('reportTelemetry', JSON.stringify({
|
|
||||||
// type: 'documentStats',
|
|
||||||
// stats: stats
|
|
||||||
// }));
|
|
||||||
// });
|
|
||||||
//#endif
|
|
||||||
callback();
|
callback();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
/*globals watchScroll, Cache, DEFAULT_CACHE_SIZE, PageView, UNKNOWN_SCALE,
|
/*globals watchScroll, Cache, DEFAULT_CACHE_SIZE, PageView, UNKNOWN_SCALE,
|
||||||
IGNORE_CURRENT_POSITION_ON_ZOOM, SCROLLBAR_PADDING, VERTICAL_PADDING,
|
IGNORE_CURRENT_POSITION_ON_ZOOM, SCROLLBAR_PADDING, VERTICAL_PADDING,
|
||||||
MAX_AUTO_SCALE, getVisibleElements, RenderingStates, Promise,
|
MAX_AUTO_SCALE, getVisibleElements, RenderingStates, Promise,
|
||||||
CSS_UNITS, PDFJS */
|
CSS_UNITS, PDFJS, TextLayerBuilder */
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
@ -36,6 +36,7 @@ var PDFViewer = (function pdfViewer() {
|
|||||||
this.linkService = options.linkService;
|
this.linkService = options.linkService;
|
||||||
|
|
||||||
this.scroll = watchScroll(this.container, this._scrollUpdate.bind(this));
|
this.scroll = watchScroll(this.container, this._scrollUpdate.bind(this));
|
||||||
|
this.lastScroll = 0;
|
||||||
this.updateInProgress = false;
|
this.updateInProgress = false;
|
||||||
this.presentationModeState = PresentationModeState.UNKNOWN;
|
this.presentationModeState = PresentationModeState.UNKNOWN;
|
||||||
this.resetView();
|
this.resetView();
|
||||||
@ -180,6 +181,8 @@ var PDFViewer = (function pdfViewer() {
|
|||||||
},
|
},
|
||||||
|
|
||||||
_scrollUpdate: function () {
|
_scrollUpdate: function () {
|
||||||
|
this.lastScroll = Date.now();
|
||||||
|
|
||||||
if (this.pagesCount === 0) {
|
if (this.pagesCount === 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -411,6 +414,23 @@ var PDFViewer = (function pdfViewer() {
|
|||||||
return page.getTextContent();
|
return page.getTextContent();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
createTextLayerBuilder: function (textLayerDiv, pageIndex, viewport) {
|
||||||
|
var isViewerInPresentationMode =
|
||||||
|
this.presentationModeState === PresentationModeState.FULLSCREEN;
|
||||||
|
return new TextLayerBuilder({
|
||||||
|
textLayerDiv: textLayerDiv,
|
||||||
|
pageIndex: pageIndex,
|
||||||
|
viewport: viewport,
|
||||||
|
lastScrollSource: this,
|
||||||
|
isViewerInPresentationMode: isViewerInPresentationMode,
|
||||||
|
findController: this.findController
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
setFindController: function (findController) {
|
||||||
|
this.findController = findController;
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
return PDFViewer;
|
return PDFViewer;
|
||||||
|
@ -104,7 +104,6 @@ var PDFView = {
|
|||||||
pageRotation: 0,
|
pageRotation: 0,
|
||||||
mouseScrollTimeStamp: 0,
|
mouseScrollTimeStamp: 0,
|
||||||
mouseScrollDelta: 0,
|
mouseScrollDelta: 0,
|
||||||
lastScroll: 0,
|
|
||||||
isViewerEmbedded: (window.parent !== window),
|
isViewerEmbedded: (window.parent !== window),
|
||||||
url: '',
|
url: '',
|
||||||
|
|
||||||
@ -138,6 +137,7 @@ var PDFView = {
|
|||||||
pdfViewer: this.pdfViewer,
|
pdfViewer: this.pdfViewer,
|
||||||
integratedFind: this.supportsIntegratedFind
|
integratedFind: this.supportsIntegratedFind
|
||||||
});
|
});
|
||||||
|
this.pdfViewer.setFindController(this.findController);
|
||||||
|
|
||||||
this.findBar = new PDFFindBar({
|
this.findBar = new PDFFindBar({
|
||||||
bar: document.getElementById('findbar'),
|
bar: document.getElementById('findbar'),
|
||||||
@ -211,10 +211,6 @@ var PDFView = {
|
|||||||
pageCountField: document.getElementById('pageCountField')
|
pageCountField: document.getElementById('pageCountField')
|
||||||
});
|
});
|
||||||
|
|
||||||
container.addEventListener('scroll', function() {
|
|
||||||
self.lastScroll = Date.now();
|
|
||||||
}, false);
|
|
||||||
|
|
||||||
var initializedPromise = Promise.all([
|
var initializedPromise = Promise.all([
|
||||||
Preferences.get('enableWebGL').then(function resolved(value) {
|
Preferences.get('enableWebGL').then(function resolved(value) {
|
||||||
PDFJS.disableWebGL = !value;
|
PDFJS.disableWebGL = !value;
|
||||||
@ -1666,6 +1662,36 @@ document.addEventListener('pagerendered', function (e) {
|
|||||||
var pageView = PDFView.pdfViewer.getPageView(pageIndex);
|
var pageView = PDFView.pdfViewer.getPageView(pageIndex);
|
||||||
var thumbnailView = PDFView.pdfThumbnailViewer.getThumbnail(pageIndex);
|
var thumbnailView = PDFView.pdfThumbnailViewer.getThumbnail(pageIndex);
|
||||||
thumbnailView.setImage(pageView.canvas);
|
thumbnailView.setImage(pageView.canvas);
|
||||||
|
|
||||||
|
//#if (FIREFOX || MOZCENTRAL)
|
||||||
|
//if (pageView.textLayer && pageView.textLayer.textDivs &&
|
||||||
|
// pageView.textLayer.textDivs.length > 0 &&
|
||||||
|
// !PDFView.supportsDocumentColors) {
|
||||||
|
// console.error(mozL10n.get('document_colors_disabled', null,
|
||||||
|
// 'PDF documents are not allowed to use their own colors: ' +
|
||||||
|
// '\'Allow pages to choose their own colors\' ' +
|
||||||
|
// 'is deactivated in the browser.'));
|
||||||
|
// PDFView.fallback();
|
||||||
|
//}
|
||||||
|
//#endif
|
||||||
|
|
||||||
|
if (pageView.error) {
|
||||||
|
PDFView.error(mozL10n.get('rendering_error', null,
|
||||||
|
'An error occurred while rendering the page.'), pageView.error);
|
||||||
|
}
|
||||||
|
|
||||||
|
//#if (FIREFOX || MOZCENTRAL)
|
||||||
|
//FirefoxCom.request('reportTelemetry', JSON.stringify({
|
||||||
|
// type: 'pageInfo'
|
||||||
|
//}));
|
||||||
|
//// It is a good time to report stream and font types
|
||||||
|
//PDFView.pdfDocument.getStats().then(function (stats) {
|
||||||
|
// FirefoxCom.request('reportTelemetry', JSON.stringify({
|
||||||
|
// type: 'documentStats',
|
||||||
|
// stats: stats
|
||||||
|
// }));
|
||||||
|
//});
|
||||||
|
//#endif
|
||||||
}, true);
|
}, true);
|
||||||
|
|
||||||
window.addEventListener('presentationmodechanged', function (e) {
|
window.addEventListener('presentationmodechanged', function (e) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user