Extract the actual sending of image data from the PartialEvaluator.buildPaintImageXObject method
				
					
				
			After PRs 10727 and 11912, the code responsible for sending the decoded image data to the main-thread has now become a fair bit more involved the previously. To reduce the amount of duplication here, the actual code responsible for sending the data is thus extracted into a new helper method instead.
This commit is contained in:
		
							parent
							
								
									aff0d56326
								
							
						
					
					
						commit
						df7d8c74ca
					
				| @ -439,6 +439,30 @@ var PartialEvaluator = (function PartialEvaluatorClosure() { | |||||||
|       }); |       }); | ||||||
|     }, |     }, | ||||||
| 
 | 
 | ||||||
|  |     _sendImgData(objId, imgData, cacheGlobally = false) { | ||||||
|  |       const transfers = imgData ? [imgData.data.buffer] : null; | ||||||
|  | 
 | ||||||
|  |       if (this.parsingType3Font) { | ||||||
|  |         return this.handler.sendWithPromise( | ||||||
|  |           "commonobj", | ||||||
|  |           [objId, "FontType3Res", imgData], | ||||||
|  |           transfers | ||||||
|  |         ); | ||||||
|  |       } | ||||||
|  |       if (cacheGlobally) { | ||||||
|  |         return this.handler.send( | ||||||
|  |           "commonobj", | ||||||
|  |           [objId, "Image", imgData], | ||||||
|  |           transfers | ||||||
|  |         ); | ||||||
|  |       } | ||||||
|  |       return this.handler.send( | ||||||
|  |         "obj", | ||||||
|  |         [objId, this.pageIndex, "Image", imgData], | ||||||
|  |         transfers | ||||||
|  |       ); | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|     async buildPaintImageXObject({ |     async buildPaintImageXObject({ | ||||||
|       resources, |       resources, | ||||||
|       image, |       image, | ||||||
| @ -552,42 +576,12 @@ var PartialEvaluator = (function PartialEvaluatorClosure() { | |||||||
|         .then(imageObj => { |         .then(imageObj => { | ||||||
|           imgData = imageObj.createImageData(/* forceRGBA = */ false); |           imgData = imageObj.createImageData(/* forceRGBA = */ false); | ||||||
| 
 | 
 | ||||||
|           if (this.parsingType3Font) { |           return this._sendImgData(objId, imgData, cacheGlobally); | ||||||
|             return this.handler.sendWithPromise( |  | ||||||
|               "commonobj", |  | ||||||
|               [objId, "FontType3Res", imgData], |  | ||||||
|               [imgData.data.buffer] |  | ||||||
|             ); |  | ||||||
|           } else if (cacheGlobally) { |  | ||||||
|             this.handler.send( |  | ||||||
|               "commonobj", |  | ||||||
|               [objId, "Image", imgData], |  | ||||||
|               [imgData.data.buffer] |  | ||||||
|             ); |  | ||||||
|             return undefined; |  | ||||||
|           } |  | ||||||
|           this.handler.send( |  | ||||||
|             "obj", |  | ||||||
|             [objId, this.pageIndex, "Image", imgData], |  | ||||||
|             [imgData.data.buffer] |  | ||||||
|           ); |  | ||||||
|           return undefined; |  | ||||||
|         }) |         }) | ||||||
|         .catch(reason => { |         .catch(reason => { | ||||||
|           warn("Unable to decode image: " + reason); |           warn("Unable to decode image: " + reason); | ||||||
| 
 | 
 | ||||||
|           if (this.parsingType3Font) { |           return this._sendImgData(objId, /* imgData = */ null, cacheGlobally); | ||||||
|             return this.handler.sendWithPromise("commonobj", [ |  | ||||||
|               objId, |  | ||||||
|               "FontType3Res", |  | ||||||
|               null, |  | ||||||
|             ]); |  | ||||||
|           } else if (cacheGlobally) { |  | ||||||
|             this.handler.send("commonobj", [objId, "Image", null]); |  | ||||||
|             return undefined; |  | ||||||
|           } |  | ||||||
|           this.handler.send("obj", [objId, this.pageIndex, "Image", null]); |  | ||||||
|           return undefined; |  | ||||||
|         }); |         }); | ||||||
| 
 | 
 | ||||||
|       if (this.parsingType3Font) { |       if (this.parsingType3Font) { | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user