diff --git a/extensions/chromium/preferences_schema.json b/extensions/chromium/preferences_schema.json index c4ea94889..bd2a88fd5 100644 --- a/extensions/chromium/preferences_schema.json +++ b/extensions/chromium/preferences_schema.json @@ -94,6 +94,10 @@ "type": "boolean", "description": "Whether to prevent the extension from reporting the extension and browser version to the extension developers.", "default": false + }, + "enhanceTextSelection": { + "type": "boolean", + "default": false } } } diff --git a/web/app.js b/web/app.js index aed71e46c..123787459 100644 --- a/web/app.js +++ b/web/app.js @@ -101,7 +101,6 @@ var SCALE_SELECT_CONTAINER_PADDING = 8; var SCALE_SELECT_PADDING = 22; var PAGE_NUMBER_LOADING_INDICATOR = 'visiblePageIsLoading'; var DISABLE_AUTO_FETCH_LOADING_BAR_TIMEOUT = 5000; -var ENHANCE_TEXT_SELECTION = false; function configure(PDFJS) { PDFJS.imageResourcesPath = './images/'; @@ -177,6 +176,7 @@ var PDFViewerApplication = { preferencePdfBugEnabled: false, preferenceShowPreviousViewOnLoad: true, preferenceDefaultZoomValue: '', + preferenceEnhanceTextSelection: false, isViewerEmbedded: (window.parent !== window), url: '', externalServices: DefaultExernalServices, @@ -206,6 +206,9 @@ var PDFViewerApplication = { Preferences.get('defaultZoomValue').then(function resolved(value) { self.preferenceDefaultZoomValue = value; }), + Preferences.get('enhanceTextSelection').then(function resolved(value) { + self.preferenceEnhanceTextSelection = value; + }), Preferences.get('disableTextLayer').then(function resolved(value) { if (PDFJS.disableTextLayer === true) { return; @@ -274,7 +277,7 @@ var PDFViewerApplication = { renderingQueue: pdfRenderingQueue, linkService: pdfLinkService, downloadManager: downloadManager, - enhanceTextSelection: ENHANCE_TEXT_SELECTION, + enhanceTextSelection: this.preferenceEnhanceTextSelection, }); pdfRenderingQueue.setViewer(this.pdfViewer); pdfLinkService.setViewer(this.pdfViewer); diff --git a/web/default_preferences.json b/web/default_preferences.json index ebc1b4282..88cc91098 100644 --- a/web/default_preferences.json +++ b/web/default_preferences.json @@ -11,5 +11,6 @@ "disableFontFace": false, "disableTextLayer": false, "useOnlyCssZoom": false, - "externalLinkTarget": 0 -} + "externalLinkTarget": 0, + "enhanceTextSelection": false +} \ No newline at end of file diff --git a/web/text_layer_builder.js b/web/text_layer_builder.js index c8b6e6b5a..e87fa310d 100644 --- a/web/text_layer_builder.js +++ b/web/text_layer_builder.js @@ -36,7 +36,7 @@ * @property {PageViewport} viewport - The viewport of the text layer. * @property {PDFFindController} findController * @property {boolean} enhanceTextSelection - Option to turn on improved - * text selection. + * text selection. The default value is `false`. */ /** @@ -59,7 +59,7 @@ var TextLayerBuilder = (function TextLayerBuilderClosure() { this.textDivs = []; this.findController = options.findController || null; this.textLayerRenderTask = null; - this.enhanceTextSelection = options.enhanceTextSelection; + this.enhanceTextSelection = options.enhanceTextSelection || false; this._bindMouse(); }