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