Skip to content
This repository was archived by the owner on Nov 15, 2017. It is now read-only.

Commit f2bdd52

Browse files
committed
more work toward #334
1 parent 7f7ed68 commit f2bdd52

File tree

7 files changed

+258
-231
lines changed

7 files changed

+258
-231
lines changed

js/about.js

Lines changed: 44 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -50,50 +50,32 @@ var backupUserDataToFile = function() {
5050
ubiquitousWhitelist: ''
5151
};
5252

53-
var userSettingsReady = function(store) {
54-
allUserData.userSettings = store;
55-
chrome.storage.local.get(['version', 'scopes', 'remoteBlacklists'], ruleDataReady);
53+
var userWhitelistReady = function(details) {
54+
allUserData.ubiquitousWhitelist = details.content;
55+
chrome.downloads.download({
56+
'url': 'data:text/plain,' + encodeURIComponent(JSON.stringify(allUserData)),
57+
'filename': 'httpsb-alluserdata-backup.txt',
58+
'saveAs': true
59+
});
60+
};
61+
62+
var userBlacklistReady = function(details) {
63+
allUserData.ubiquitousBlacklist = details.content;
64+
httpsb.assets.get(httpsb.userWhitelistPath, userWhitelistReady);
5665
};
5766

5867
var ruleDataReady = function(store) {
5968
allUserData.version = store.version;
6069
allUserData.scopes = store.scopes;
6170
allUserData.remoteBlacklists = store.remoteBlacklists;
62-
httpsb.assets.get(
63-
httpsb.userBlacklistPath,
64-
'userUbiquitousBlacklistReady'
65-
);
71+
httpsb.assets.get(httpsb.userBlacklistPath, userBlacklistReady);
6672
};
6773

68-
var onMessageHandler = function(request) {
69-
if ( !request || !request.what ) {
70-
return;
71-
}
72-
switch ( request.what ) {
73-
case 'userUbiquitousBlacklistReady':
74-
allUserData.ubiquitousBlacklist = request.content;
75-
httpsb.assets.get(
76-
httpsb.userWhitelistPath,
77-
'userUbiquitousWhitelistReady'
78-
);
79-
break;
80-
case 'userUbiquitousWhitelistReady':
81-
allUserData.ubiquitousWhitelist = request.content;
82-
saveToFile();
83-
break;
84-
}
85-
};
86-
87-
var saveToFile = function() {
88-
chrome.downloads.download({
89-
'url': 'data:text/plain,' + encodeURIComponent(JSON.stringify(allUserData)),
90-
'filename': 'httpsb-alluserdata-backup.txt',
91-
'saveAs': true
92-
});
93-
chrome.runtime.onMessage.removeListener(onMessageHandler);
74+
var userSettingsReady = function(store) {
75+
allUserData.userSettings = store;
76+
chrome.storage.local.get(['version', 'scopes', 'remoteBlacklists'], ruleDataReady);
9477
};
9578

96-
chrome.runtime.onMessage.addListener(onMessageHandler);
9779
chrome.storage.local.get(httpsb.userSettings, userSettingsReady);
9880
};
9981

@@ -105,6 +87,15 @@ var restoreUserDataFromFile = function() {
10587
accept: 'text/plain'
10688
});
10789

90+
var restartCountdown = 2;
91+
var doCountdown = function() {
92+
restartCountdown -= 1;
93+
if ( restartCountdown > 0 ) {
94+
return;
95+
}
96+
chrome.runtime.reload();
97+
};
98+
10899
var restoreBackup = function(data) {
109100
var httpsb = getHTTPSB();
110101
chrome.storage.local.set(data.userSettings);
@@ -118,8 +109,8 @@ var restoreUserDataFromFile = function() {
118109
store.remoteBlacklists = data.remoteBlacklists;
119110
}
120111
chrome.storage.local.set(store);
121-
httpsb.assets.put(httpsb.userBlacklistPath, data.ubiquitousBlacklist, 'restoreUserDataFromFileUserRestartCountdown');
122-
httpsb.assets.put(httpsb.userWhitelistPath, data.ubiquitousWhitelist, 'restoreUserDataFromFileUserRestartCountdown');
112+
httpsb.assets.put(httpsb.userBlacklistPath, data.ubiquitousBlacklist, doCountdown);
113+
httpsb.assets.put(httpsb.userWhitelistPath, data.ubiquitousWhitelist, doCountdown);
123114
};
124115

125116
var validateBackup = function(s) {
@@ -148,7 +139,9 @@ var restoreUserDataFromFile = function() {
148139
return;
149140
}
150141
var time = new Date(data.timeStamp);
151-
var msg = chrome.i18n.getMessage('aboutUserDataRestoreConfirm').replace('{{time}}', time.toLocaleString());
142+
var msg = chrome.i18n
143+
.getMessage('aboutUserDataRestoreConfirm')
144+
.replace('{{time}}', time.toLocaleString());
152145
var proceed = window.confirm(msg);
153146
if ( proceed ) {
154147
restoreBackup(data);
@@ -170,22 +163,6 @@ var restoreUserDataFromFile = function() {
170163
input.off('change', filePickerOnChangeHandler);
171164
};
172165

173-
var restartCountdown = 2;
174-
var onMessageHandler = function(request) {
175-
if ( !request || !request.what ) {
176-
return;
177-
}
178-
if ( request.what === 'restoreUserDataFromFileUserRestartCountdown' ) {
179-
restartCountdown -= 1;
180-
if ( restartCountdown > 0 ) {
181-
return;
182-
}
183-
}
184-
chrome.runtime.onMessage.removeListener(onMessageHandler);
185-
chrome.runtime.reload();
186-
};
187-
chrome.runtime.onMessage.addListener(onMessageHandler);
188-
189166
input.on('change', filePickerOnChangeHandler);
190167
input.trigger('click');
191168
};
@@ -244,37 +221,29 @@ var renderAssetList = function(details) {
244221
var updateAssets = function() {
245222
var httpsb = getHTTPSB();
246223
setAssetListClassBit(2, true);
247-
httpsb.assetUpdater.update(updateList);
224+
var onDone = function() {
225+
httpsb.loadUpdatableAssets(false);
226+
};
227+
httpsb.assetUpdater.update(updateList, onDone);
248228
};
249229

250230
/******************************************************************************/
251231

252-
var onAllLocalAssetsUpdated = function() {
253-
var httpsb = getHTTPSB();
254-
var onMessageHandler = function(request) {
255-
if ( !request || !request.what ) {
256-
return;
257-
}
258-
if ( request.what !== 'dashboardAboutCachedAssetList' ) {
259-
return;
260-
}
261-
renderAssetList(request);
262-
chrome.runtime.onMessage.removeListener(onMessageHandler);
263-
};
264-
chrome.runtime.onMessage.addListener(onMessageHandler);
265-
httpsb.assetUpdater.getList('dashboardAboutCachedAssetList');
232+
var updateAssetsList = function() {
233+
getHTTPSB().assetUpdater.getList(renderAssetList);
266234
};
267235

268236
/******************************************************************************/
269237

270-
var onMessageHandler = function(request) {
271-
if ( !request || !request.what ) {
272-
return;
273-
}
274-
if ( request.what === 'allLocalAssetsUpdated' ) {
275-
onAllLocalAssetsUpdated();
238+
// Updating all assets could be done from elsewhere and if so the
239+
// list here needs to be updated.
240+
241+
var onMessage = function(request) {
242+
if ( request && request.what === 'allLocalAssetsUpdated' ) {
243+
updateAssetsList();
276244
}
277245
};
246+
chrome.runtime.onMessage.addListener(onMessage);
278247

279248
/******************************************************************************/
280249

@@ -293,9 +262,7 @@ $('#resetUserDataButton').on('click', resetUserData);
293262

294263
/******************************************************************************/
295264

296-
chrome.runtime.onMessage.addListener(onMessageHandler);
297-
298-
onAllLocalAssetsUpdated();
265+
updateAssetsList();
299266

300267
/******************************************************************************/
301268

0 commit comments

Comments
 (0)