Combine the pdfjsFilePath and fallback workerSrc handling in src/display/api.js
				
					
				
			With the way that the `getWorkerSrc()` helper function is implemented now, there's no longer a particularly strong reason for keeping the global `pdfjsFilePath` variable around. With this patch the fallback `workerSrc` will thus, assuming is wasn't already set, be set to the "pdfjsFilePath" which simplifies the `getWorkerSrc()` function and reduces the amount of global state. Finally, the global `workerSrc` variable was renamed to prevent shadowing.
This commit is contained in:
		
							parent
							
								
									f45e46d7ad
								
							
						
					
					
						commit
						21c8dd4842
					
				| @ -34,16 +34,10 @@ import { Metadata } from './metadata'; | ||||
| import { PDFDataTransportStream } from './transport_stream'; | ||||
| import { WebGLContext } from './webgl'; | ||||
| 
 | ||||
| var DEFAULT_RANGE_CHUNK_SIZE = 65536; // 2^16 = 65536
 | ||||
| const DEFAULT_RANGE_CHUNK_SIZE = 65536; // 2^16 = 65536
 | ||||
| 
 | ||||
| let isWorkerDisabled = false; | ||||
| let workerSrc; | ||||
| 
 | ||||
| const pdfjsFilePath = | ||||
|   typeof PDFJSDev !== 'undefined' && | ||||
|   PDFJSDev.test('PRODUCTION && !(MOZCENTRAL || FIREFOX)') && | ||||
|   typeof document !== 'undefined' && document.currentScript ? | ||||
|     document.currentScript.src : null; | ||||
| let fallbackWorkerSrc; | ||||
| 
 | ||||
| let fakeWorkerFilesLoader = null; | ||||
| if (typeof PDFJSDev !== 'undefined' && PDFJSDev.test('GENERIC')) { | ||||
| @ -62,7 +56,7 @@ if (typeof PDFJSDev !== 'undefined' && PDFJSDev.test('GENERIC')) { | ||||
|     useRequireEnsure = true; | ||||
|   } | ||||
|   if (typeof requirejs !== 'undefined' && requirejs.toUrl) { | ||||
|     workerSrc = requirejs.toUrl('pdfjs-dist/build/pdf.worker.js'); | ||||
|     fallbackWorkerSrc = requirejs.toUrl('pdfjs-dist/build/pdf.worker.js'); | ||||
|   } | ||||
|   const dynamicLoaderSupported = | ||||
|     typeof requirejs !== 'undefined' && requirejs.load; | ||||
| @ -93,6 +87,14 @@ if (typeof PDFJSDev !== 'undefined' && PDFJSDev.test('GENERIC')) { | ||||
|       }, reject); | ||||
|     }); | ||||
|   }) : null; | ||||
| 
 | ||||
|   if (!fallbackWorkerSrc && typeof document !== 'undefined') { | ||||
|     const pdfjsFilePath = document.currentScript && document.currentScript.src; | ||||
|     if (pdfjsFilePath) { | ||||
|       fallbackWorkerSrc = | ||||
|         pdfjsFilePath.replace(/(\.(?:min\.)?js)(\?.*)?$/i, '.worker$1$2'); | ||||
|     } | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| /** | ||||
| @ -1346,13 +1348,8 @@ var PDFWorker = (function PDFWorkerClosure() { | ||||
|     if (GlobalWorkerOptions.workerSrc) { | ||||
|       return GlobalWorkerOptions.workerSrc; | ||||
|     } | ||||
|     if (typeof workerSrc !== 'undefined') { | ||||
|       return workerSrc; | ||||
|     } | ||||
|     if (typeof PDFJSDev !== 'undefined' && | ||||
|         PDFJSDev.test('PRODUCTION && !(MOZCENTRAL || FIREFOX)') && | ||||
|         pdfjsFilePath) { | ||||
|       return pdfjsFilePath.replace(/(\.(?:min\.)?js)(\?.*)?$/i, '.worker$1$2'); | ||||
|     if (typeof fallbackWorkerSrc !== 'undefined') { | ||||
|       return fallbackWorkerSrc; | ||||
|     } | ||||
|     throw new Error('No "GlobalWorkerOptions.workerSrc" specified.'); | ||||
|   } | ||||
| @ -1480,7 +1477,7 @@ var PDFWorker = (function PDFWorkerClosure() { | ||||
|       // Uint8Array as it arrives on the worker. (Chrome added this with v.15.)
 | ||||
|       if (typeof Worker !== 'undefined' && !isWorkerDisabled && | ||||
|           !getMainThreadWorkerMessageHandler()) { | ||||
|         var workerSrc = getWorkerSrc(); | ||||
|         let workerSrc = getWorkerSrc(); | ||||
| 
 | ||||
|         try { | ||||
|           // Wraps workerSrc path into blob URL, if the former does not belong
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user