From eb288fb885b0bb8a56e17b0e9396414df6713032 Mon Sep 17 00:00:00 2001 From: Thibaut Girka Date: Mon, 19 Aug 2019 18:00:10 +0200 Subject: [PATCH 1/2] Add option not to use a blob: URL for the worker source --- src/browser/index.js | 5 +++-- src/common/TesseractWorker.js | 1 + src/common/options.js | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/browser/index.js b/src/browser/index.js index c9fd31b66..06e62ab5d 100644 --- a/src/browser/index.js +++ b/src/browser/index.js @@ -124,10 +124,11 @@ exports.defaultOptions = { * @param {object} instance - TesseractWorker instance * @param {object} options * @param {string} options.workerPath - worker script path + * @param {boolean} options.preventBlobURL - do not use a blob: URL for the worker script */ -exports.spawnWorker = (instance, { workerPath }) => { +exports.spawnWorker = (instance, { workerPath, preventBlobURL }) => { let worker; - if (Blob && URL) { + if (Blob && URL && !preventBlobURL) { const blob = new Blob([`importScripts("${workerPath}");`], { type: 'application/javascript', }); diff --git a/src/common/TesseractWorker.js b/src/common/TesseractWorker.js index 01d50900c..af2d082bb 100644 --- a/src/common/TesseractWorker.js +++ b/src/common/TesseractWorker.js @@ -43,6 +43,7 @@ class TesseractWorker { * @param {string} [options.cachePath=.] - @see {@link https://github.com/jeromewu/tesseract.js-utils/blob/master/src/loadLang.js} * @param {string} [options.cacheMethod=write] - @see {@link https://github.com/jeromewu/tesseract.js-utils/blob/master/src/loadLang.js} * @param {string} [options.dataPath=.] - @see {@link https://github.com/jeromewu/tesseract.js-utils/blob/master/src/loadLang.js} + * @param {boolean} [options.preventBlobURL=false] - do not use a blob: URL for the worker script * */ constructor(options = {}) { diff --git a/src/common/options.js b/src/common/options.js index 36a923919..df55425d1 100644 --- a/src/common/options.js +++ b/src/common/options.js @@ -8,6 +8,7 @@ module.exports = { * of 20 MB. */ langPath: 'https://tessdata.projectnaptha.com/4.0.0', + preventBlobURL: false, }, /* * default params for recognize() From 6fb2195b75c67600cf7e0d1fb42edfcf28e5a796 Mon Sep 17 00:00:00 2001 From: Jerome Wu Date: Sun, 25 Aug 2019 17:41:59 +0800 Subject: [PATCH 2/2] Rename variable to workerBlobURL --- src/browser/index.js | 6 +++--- src/common/TesseractWorker.js | 2 +- src/common/options.js | 5 ++++- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/browser/index.js b/src/browser/index.js index 06e62ab5d..880515093 100644 --- a/src/browser/index.js +++ b/src/browser/index.js @@ -124,11 +124,11 @@ exports.defaultOptions = { * @param {object} instance - TesseractWorker instance * @param {object} options * @param {string} options.workerPath - worker script path - * @param {boolean} options.preventBlobURL - do not use a blob: URL for the worker script + * @param {boolean} options.workerBlobURL - Use a blob:// URL for the worker script */ -exports.spawnWorker = (instance, { workerPath, preventBlobURL }) => { +exports.spawnWorker = (instance, { workerPath, workerBlobURL }) => { let worker; - if (Blob && URL && !preventBlobURL) { + if (Blob && URL && workerBlobURL) { const blob = new Blob([`importScripts("${workerPath}");`], { type: 'application/javascript', }); diff --git a/src/common/TesseractWorker.js b/src/common/TesseractWorker.js index af2d082bb..5b66287c3 100644 --- a/src/common/TesseractWorker.js +++ b/src/common/TesseractWorker.js @@ -32,6 +32,7 @@ class TesseractWorker { * In browser-like environment, it is downloaded from a CDN service. * Please update this option if you self-host the worker script. * In Node.js environment, this option is not used as the worker script is in local. + * @param {boolean} [options.workerBlobURL=true] - Use a blob: URL for the worker script * @param {string} options.corePath - * A remote path to load tesseract.js-core script. * In browser-like environment, it is downloaded from a CDN service. @@ -43,7 +44,6 @@ class TesseractWorker { * @param {string} [options.cachePath=.] - @see {@link https://github.com/jeromewu/tesseract.js-utils/blob/master/src/loadLang.js} * @param {string} [options.cacheMethod=write] - @see {@link https://github.com/jeromewu/tesseract.js-utils/blob/master/src/loadLang.js} * @param {string} [options.dataPath=.] - @see {@link https://github.com/jeromewu/tesseract.js-utils/blob/master/src/loadLang.js} - * @param {boolean} [options.preventBlobURL=false] - do not use a blob: URL for the worker script * */ constructor(options = {}) { diff --git a/src/common/options.js b/src/common/options.js index df55425d1..a86a263de 100644 --- a/src/common/options.js +++ b/src/common/options.js @@ -8,7 +8,10 @@ module.exports = { * of 20 MB. */ langPath: 'https://tessdata.projectnaptha.com/4.0.0', - preventBlobURL: false, + /* + * Use BlobURL for worker script by default + */ + workerBlobURL: true, }, /* * default params for recognize()