@@ -61,7 +61,7 @@ File system structure:
6161/******************************************************************************/
6262
6363var fileSystem ;
64- var fileSystemQuota = 30 * 1024 * 1024 ;
64+ var fileSystemQuota = 40 * 1024 * 1024 ;
6565var remoteRoot = HTTPSB . projectServerRoot ;
6666
6767/******************************************************************************/
@@ -359,33 +359,45 @@ var writeLocalFile = function(path, content, msg) {
359359
360360/******************************************************************************/
361361
362- var updateFromRemote = function ( path , msg ) {
362+ var updateFromRemote = function ( details , msg ) {
363363 // 'httpsb=...' is to skip browser cache
364- var remoteURL = remoteRoot + path + '?httpsb=' + Date . now ( ) ;
364+ var remoteURL = remoteRoot + details . path + '?httpsb=' + Date . now ( ) ;
365+
366+ var sendErrorMessage = function ( ) {
367+ chrome . runtime . sendMessage ( {
368+ 'what' : msg ,
369+ 'path' : details . path ,
370+ 'error' : 'Error'
371+ } ) ;
372+ } ;
365373
366374 var onRemoteFileLoaded = function ( ) {
367- // console.log('HTTP Switchboard> updateFromRemote() / onRemoteFileLoaded()');
368- if ( this . responseText && this . responseText . length ) {
369- writeLocalFile ( path , this . responseText , msg ) ;
370- }
371375 this . onload = this . onerror = null ;
376+ // console.log('HTTPSB> updateFromRemote("%s") / onRemoteFileLoaded()', remoteURL);
377+ if ( typeof this . responseText !== 'string' ) {
378+ console . error ( 'HTTPSB> updateFromRemote("%s") / onRemoteFileLoaded(): no response' , remoteURL ) ;
379+ sendErrorMessage ( ) ;
380+ return ;
381+ }
382+ if ( typeof details . md5 === 'string' && details . md5 !== md5omatic ( this . responseText ) ) {
383+ console . error ( 'HTTPSB> updateFromRemote("%s") / onRemoteFileLoaded(): bad md5 checksum' , remoteURL ) ;
384+ sendErrorMessage ( ) ;
385+ return ;
386+ }
387+ writeLocalFile ( details . path , this . responseText , msg ) ;
372388 } ;
373389
374390 var onRemoteFileError = function ( ev ) {
375- console . error ( 'HTTP Switchboard> updateFromRemote() / onRemoteFileError("%s"):' , remoteURL , this . statusText ) ;
376- chrome . runtime . sendMessage ( {
377- 'what' : msg ,
378- 'path' : path ,
379- 'error' : 'Error'
380- } ) ;
381391 this . onload = this . onerror = null ;
392+ console . error ( 'HTTPSB> updateFromRemote() / onRemoteFileError("%s"):' , remoteURL , this . statusText ) ;
393+ sendErrorMessage ( ) ;
382394 } ;
383395
384396 getTextFileFromURL (
385397 remoteURL ,
386398 onRemoteFileLoaded ,
387399 onRemoteFileError
388- ) ;
400+ ) ;
389401} ;
390402
391403/******************************************************************************/
0 commit comments