Merge pull request #9821 from Snuffleupagus/onOpenWithURL-originalUrl
Set the correct document title when opening a new file in the `GENERIC` default viewer
This commit is contained in:
		
						commit
						3b07147d98
					
				
							
								
								
									
										17
									
								
								web/app.js
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								web/app.js
									
									
									
									
									
								
							| @ -593,13 +593,13 @@ let PDFViewerApplication = { | ||||
|       onOpenWithData(data) { | ||||
|         PDFViewerApplication.open(data); | ||||
|       }, | ||||
|       onOpenWithURL(url, length, originalURL) { | ||||
|       onOpenWithURL(url, length, originalUrl) { | ||||
|         let file = url, args = null; | ||||
|         if (length !== undefined) { | ||||
|           args = { length, }; | ||||
|         } | ||||
|         if (originalURL !== undefined) { | ||||
|           file = { url, originalURL, }; | ||||
|         if (originalUrl !== undefined) { | ||||
|           file = { url, originalUrl, }; | ||||
|         } | ||||
|         PDFViewerApplication.open(file, args); | ||||
|       }, | ||||
| @ -615,7 +615,7 @@ let PDFViewerApplication = { | ||||
|     }); | ||||
|   }, | ||||
| 
 | ||||
|   setTitleUsingUrl(url) { | ||||
|   setTitleUsingUrl(url = '') { | ||||
|     this.url = url; | ||||
|     this.baseUrl = url.split('#')[0]; | ||||
|     let title = getPDFFileNameFromURL(url, ''); | ||||
| @ -1928,8 +1928,13 @@ if (typeof PDFJSDev === 'undefined' || PDFJSDev.test('GENERIC')) { | ||||
|     let file = evt.fileInput.files[0]; | ||||
| 
 | ||||
|     if (URL.createObjectURL && !AppOptions.get('disableCreateObjectURL')) { | ||||
|       PDFViewerApplication.open(URL.createObjectURL(file)); | ||||
|       let url = URL.createObjectURL(file); | ||||
|       if (file.name) { | ||||
|         url = { url, originalUrl: file.name, }; | ||||
|       } | ||||
|       PDFViewerApplication.open(url); | ||||
|     } else { | ||||
|       PDFViewerApplication.setTitleUsingUrl(file.name); | ||||
|       // Read the local file into a Uint8Array.
 | ||||
|       let fileReader = new FileReader(); | ||||
|       fileReader.onload = function webViewerChangeFileReaderOnload(evt) { | ||||
| @ -1939,8 +1944,6 @@ if (typeof PDFJSDev === 'undefined' || PDFJSDev.test('GENERIC')) { | ||||
|       fileReader.readAsArrayBuffer(file); | ||||
|     } | ||||
| 
 | ||||
|     PDFViewerApplication.setTitleUsingUrl(file.name); | ||||
| 
 | ||||
|     // URL does not reflect proper document location - hiding some icons.
 | ||||
|     let appConfig = PDFViewerApplication.appConfig; | ||||
|     appConfig.toolbar.viewBookmark.setAttribute('hidden', 'true'); | ||||
|  | ||||
| @ -201,7 +201,7 @@ function requestAccessToLocalFile(fileUrl, overlayManager, callback) { | ||||
|       let file = this.files[0]; | ||||
|       if (file) { | ||||
|         let originalFilename = decodeURIComponent(fileUrl.split('/').pop()); | ||||
|         let originalURL = fileUrl; | ||||
|         let originalUrl = fileUrl; | ||||
|         if (originalFilename !== file.name) { | ||||
|           let msg = 'The selected file does not match the original file.' + | ||||
|             '\nOriginal: ' + originalFilename + | ||||
| @ -213,9 +213,9 @@ function requestAccessToLocalFile(fileUrl, overlayManager, callback) { | ||||
|           } | ||||
|           // There is no way to retrieve the original URL from the File object.
 | ||||
|           // So just generate a fake path.
 | ||||
|           originalURL = 'file:///fakepath/to/' + encodeURIComponent(file.name); | ||||
|           originalUrl = 'file:///fakepath/to/' + encodeURIComponent(file.name); | ||||
|         } | ||||
|         callback(URL.createObjectURL(file), file.size, originalURL); | ||||
|         callback(URL.createObjectURL(file), file.size, originalUrl); | ||||
|         overlayManager.close('chromeFileAccessOverlay'); | ||||
|       } | ||||
|     }; | ||||
| @ -384,8 +384,8 @@ ChromeExternalServices.initPassiveLoading = function(callbacks) { | ||||
|   let { overlayManager, } = PDFViewerApplication; | ||||
|   // defaultUrl is set in viewer.js
 | ||||
|   ChromeCom.resolvePDFFile(AppOptions.get('defaultUrl'), overlayManager, | ||||
|       function(url, length, originalURL) { | ||||
|     callbacks.onOpenWithURL(url, length, originalURL); | ||||
|       function(url, length, originalUrl) { | ||||
|     callbacks.onOpenWithURL(url, length, originalUrl); | ||||
|   }); | ||||
| }; | ||||
| ChromeExternalServices.createDownloadManager = function(options) { | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user