@ -40,61 +40,62 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
{
{
throw new Error ( 'Module "pdfjs-web/chromecom" shall not be used outside ' + 'CHROME build.' ) ;
throw new Error ( 'Module "pdfjs-web/chromecom" shall not be used outside ' + 'CHROME build.' ) ;
}
}
var ChromeCom = { } ;
var ChromeCom = {
ChromeCom . request = function ChromeCom _request ( action , data , callback ) {
request : function request ( action , data , callback ) {
var message = {
var message = {
action : action ,
action : action ,
data : data
data : data
} ;
} ;
if ( ! chrome . runtime ) {
if ( ! chrome . runtime ) {
console . error ( 'chrome.runtime is undefined.' ) ;
console . error ( 'chrome.runtime is undefined.' ) ;
if ( callback ) {
if ( callback ) {
callback ( ) ;
callback ( ) ;
}
} else if ( callback ) {
chrome . runtime . sendMessage ( message , callback ) ;
} else {
chrome . runtime . sendMessage ( message ) ;
}
}
} else if ( callback ) {
} ,
chrome . runtime . sendMessage ( message , callback ) ;
resolvePDFFile : function resolvePDFFile ( file , overlayManager , callback ) {
} else {
file = file . replace ( /^drive:/i , 'filesystem:' + location . origin + '/external/' ) ;
chrome . runtime . sendMessage ( message ) ;
if ( /^filesystem:/ . test ( file ) && ! _pdf . PDFJS . disableWorker ) {
}
var resolveLocalFileSystemURL = window . resolveLocalFileSystemURL || window . webkitResolveLocalFileSystemURL ;
} ;
resolveLocalFileSystemURL ( file , function onResolvedFSURL ( fileEntry ) {
ChromeCom . resolvePDFFile = function ( file , overlayManager , callback ) {
fileEntry . file ( function ( fileObject ) {
file = file . replace ( /^drive:/i , 'filesystem:' + location . origin + '/external/' ) ;
var blobUrl = URL . createObjectURL ( fileObject ) ;
if ( /^filesystem:/ . test ( file ) && ! _pdf . PDFJS . disableWorker ) {
callback ( blobUrl , fileObject . size ) ;
var resolveLocalFileSystemURL = window . resolveLocalFileSystemURL || window . webkitResolveLocalFileSystemURL ;
} ) ;
resolveLocalFileSystemURL ( file , function onResolvedFSURL ( fileEntry ) {
} , function onFileSystemError ( error ) {
fileEntry . file ( function ( fileObject ) {
console . warn ( 'Cannot resolve file ' + file + ', ' + error . name + ' ' + error . message ) ;
var blobUrl = URL . createObjectURL ( fileObject ) ;
callback ( file ) ;
callback ( blobUrl , fileObject . size ) ;
} ) ;
} ) ;
} , function onFileSystemError ( error ) {
return ;
console . warn ( 'Cannot resolve file ' + file + ', ' + error . name + ' ' + error . message ) ;
}
callback ( file ) ;
if ( /^https?:/ . test ( file ) ) {
} ) ;
setReferer ( file , function ( ) {
return ;
callback ( file ) ;
}
} ) ;
if ( /^https?:/ . test ( file ) ) {
return ;
setReferer ( file , function ( ) {
}
callback ( file ) ;
if ( /^file?:/ . test ( file ) ) {
} ) ;
getEmbedderOrigin ( function ( origin ) {
return ;
if ( origin && ! /^file:|^chrome-extension:/ . test ( origin ) ) {
}
_app . PDFViewerApplication . error ( 'Blocked ' + origin + ' from loading ' + file + '. Refused to load a local file in a non-local page ' + 'for security reasons.' ) ;
if ( /^file?:/ . test ( file ) ) {
return ;
getEmbedderOrigin ( function ( origin ) {
if ( origin && ! /^file:|^chrome-extension:/ . test ( origin ) ) {
_app . PDFViewerApplication . error ( 'Blocked ' + origin + ' from loading ' + file + '. Refused to load a local file in a non-local page ' + 'for security reasons.' ) ;
return ;
}
isAllowedFileSchemeAccess ( function ( isAllowedAccess ) {
if ( isAllowedAccess ) {
callback ( file ) ;
} else {
requestAccessToLocalFile ( file , overlayManager ) ;
}
}
isAllowedFileSchemeAccess ( function ( isAllowedAccess ) {
if ( isAllowedAccess ) {
callback ( file ) ;
} else {
requestAccessToLocalFile ( file , overlayManager ) ;
}
} ) ;
} ) ;
} ) ;
} ) ;
return ;
return ;
}
callback ( file ) ;
}
}
callback ( file ) ;
} ;
} ;
function getEmbedderOrigin ( callback ) {
function getEmbedderOrigin ( callback ) {
var origin = window === top ? location . origin : location . ancestorOrigins [ 0 ] ;
var origin = window === top ? location . origin : location . ancestorOrigins [ 0 ] ;
@ -123,7 +124,7 @@ function reloadIfRuntimeIsUnavailable() {
location . reload ( ) ;
location . reload ( ) ;
}
}
}
}
var chromeFileAccessOverlayPromise ;
var chromeFileAccessOverlayPromise = void 0 ;
function requestAccessToLocalFile ( fileUrl , overlayManager ) {
function requestAccessToLocalFile ( fileUrl , overlayManager ) {
var onCloseOverlay = null ;
var onCloseOverlay = null ;
if ( top !== window ) {
if ( top !== window ) {
@ -214,7 +215,7 @@ if (window === top) {
}
}
} ) ;
} ) ;
}
}
var port ;
var port = void 0 ;
function setReferer ( url , callback ) {
function setReferer ( url , callback ) {
if ( ! port ) {
if ( ! port ) {
port = chrome . runtime . connect ( { name : 'chromecom-referrer' } ) ;
port = chrome . runtime . connect ( { name : 'chromecom-referrer' } ) ;