gorhill
10 years ago
1 changed files with 0 additions and 105 deletions
@ -1,105 +0,0 @@ |
|||||
/******************************************************************************* |
|
||||
|
|
||||
µMatrix - a Chromium browser extension to black/white list requests. |
|
||||
Copyright (C) 2014 Raymond Hill |
|
||||
|
|
||||
This program is free software: you can redistribute it and/or modify |
|
||||
it under the terms of the GNU General Public License as published by |
|
||||
the Free Software Foundation, either version 3 of the License, or |
|
||||
(at your option) any later version. |
|
||||
|
|
||||
This program is distributed in the hope that it will be useful, |
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
||||
GNU General Public License for more details. |
|
||||
|
|
||||
You should have received a copy of the GNU General Public License |
|
||||
along with this program. If not, see {http://www.gnu.org/licenses/}.
|
|
||||
|
|
||||
Home: https://github.com/gorhill/uMatrix
|
|
||||
*/ |
|
||||
|
|
||||
/* global µMatrix */ |
|
||||
|
|
||||
/******************************************************************************/ |
|
||||
|
|
||||
// Automatic update of non-user assets
|
|
||||
// https://github.com/gorhill/httpswitchboard/issues/334
|
|
||||
|
|
||||
µMatrix.updater = (function() { |
|
||||
|
|
||||
/******************************************************************************/ |
|
||||
|
|
||||
var µm = µMatrix; |
|
||||
|
|
||||
var jobCallback = function() { |
|
||||
// Simpler to fire restart here, and safe given how far this will happen
|
|
||||
// in the future.
|
|
||||
restart(); |
|
||||
|
|
||||
// If auto-update is disabled, check again in a while.
|
|
||||
if ( µm.userSettings.autoUpdate !== true ) { |
|
||||
return; |
|
||||
} |
|
||||
|
|
||||
var onMetadataReady = function(metadata) { |
|
||||
// Check PSL
|
|
||||
var mdEntry = metadata[µm.pslPath]; |
|
||||
if ( mdEntry.repoObsolete ) { |
|
||||
µm.loadUpdatableAssets(true); |
|
||||
return; |
|
||||
} |
|
||||
// Check used hosts files
|
|
||||
var hostsFiles = µm.liveHostsFiles; |
|
||||
for ( var path in hostsFiles ) { |
|
||||
if ( hostsFiles.hasOwnProperty(path) === false ) { |
|
||||
continue; |
|
||||
} |
|
||||
if ( hostsFiles[path].off ) { |
|
||||
continue; |
|
||||
} |
|
||||
if ( metadata.hasOwnProperty(path) === false ) { |
|
||||
continue; |
|
||||
} |
|
||||
mdEntry = metadata[path]; |
|
||||
if ( mdEntry.cacheObsolete || mdEntry.repoObsolete ) { |
|
||||
µm.loadUpdatableAssets(true); |
|
||||
return; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
// console.log('updater.js > all is up to date');
|
|
||||
}; |
|
||||
|
|
||||
µm.assets.metadata(onMetadataReady); |
|
||||
}; |
|
||||
|
|
||||
// https://www.youtube.com/watch?v=cIrGQD84F1g
|
|
||||
|
|
||||
/******************************************************************************/ |
|
||||
|
|
||||
var restart = function(after) { |
|
||||
if ( after === undefined ) { |
|
||||
after = µm.nextUpdateAfter; |
|
||||
} |
|
||||
|
|
||||
µm.asyncJobs.add( |
|
||||
'autoUpdateAssets', |
|
||||
null, |
|
||||
jobCallback, |
|
||||
after, |
|
||||
false |
|
||||
); |
|
||||
}; |
|
||||
|
|
||||
/******************************************************************************/ |
|
||||
|
|
||||
return { |
|
||||
restart: restart |
|
||||
}; |
|
||||
|
|
||||
/******************************************************************************/ |
|
||||
|
|
||||
})(); |
|
||||
|
|
||||
/******************************************************************************/ |
|
Write
Preview
Loading…
Cancel
Save
Reference in new issue