1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- var sites_url = "https://raw.githubusercontent.com/RSF-RWB/collateralfreedom/master/sites.json"
- var sites = {}
- var domain_regexp = /:\/\/(www\.)?([^\/]+)\//
-
- function getSitesAndMirrors() {
- $.getJSON(sites_url).done(function(data) { chrome.storage.local.set({"sites": data}) })
- }
-
- function getCurrentTabUrl(callback) {
- var queryInfo = {
- active: true,
- currentWindow: true
- };
-
- chrome.tabs.query(queryInfo, function(tabs) {
- var tab = tabs[0];
-
- var url = tab.url;
-
- console.assert(typeof url == 'string', 'tab.url should be a string');
-
- callback(url);
- });
- }
-
- function updateTab() {
- getCurrentTabUrl(function(url) {
- chrome.storage.local.get("sites", function(sites){
- sites = sites.sites
- let domain = url.match(domain_regexp).slice(-1)[0]
- if(domain in sites) {
- chrome.browserAction.setIcon({path: 'rsc/icon-red.png'})
- }
- else {
- chrome.browserAction.setIcon({path: 'rsc/icon.png'})
- }
- })
- })
- }
-
- chrome.runtime.onStartup.addListener(getSitesAndMirrors)
- chrome.runtime.onInstalled.addListener(getSitesAndMirrors)
- chrome.tabs.onActivated.addListener(updateTab)
- chrome.tabs.onUpdated.addListener(updateTab)
|