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

Commit b7b56c0

Browse files
committed
this fixes #345
1 parent 9eef89e commit b7b56c0

27 files changed

+1495
-825
lines changed

about.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ <h2 data-i18n="aboutExtensionDataHeader"></h2>
9696
<script src="lib/jquery-2.min.js"></script>
9797
<script src="js/i18n.js"></script>
9898
<script src="js/dashboard-common.js"></script>
99+
<script src="js/messaging-client.js"></script>
99100
<script src="js/about.js"></script>
100101

101102
</body>

background.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
<script src="js/httpsb.js"></script>
2222
<script src="js/reqstats.js"></script>
2323
<script src="js/cookies.js"></script>
24+
<script src="js/messaging.js"></script>
2425
<script src="js/profiler.js"></script>
2526
<script src="js/presets.js"></script>
2627
<script src="js/storage.js"></script>
@@ -30,7 +31,7 @@
3031
<script src="js/traffic.js"></script>
3132
<script src="js/uritools.js"></script>
3233
<script src="js/useragent.js"></script>
33-
<script src="js/contentscripthandlers.js"></script>
34+
<script src="js/messaging-handlers.js"></script>
3435
<script src="js/start.js"></script>
3536
<script src="js/commands.js"></script>
3637
<script src="js/install.js"></script>

info.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,7 @@ <h3 data-i18n="statsPageDetailed"></h3>
168168
<script src="lib/jquery-2.min.js"></script>
169169
<script src="js/i18n.js"></script>
170170
<script src="js/dashboard-common.js"></script>
171+
<script src="js/messaging-client.js"></script>
171172
<script src="js/info.js"></script>
172173
</body>
173174
</html>

js/about.js

Lines changed: 40 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -33,15 +33,7 @@ var commitHistoryURLPrefix = 'https://github.com/gorhill/httpswitchboard/commits
3333

3434
/******************************************************************************/
3535

36-
var getHTTPSB = function() {
37-
return chrome.extension.getBackgroundPage().HTTPSB;
38-
};
39-
40-
/******************************************************************************/
41-
4236
var backupUserDataToFile = function() {
43-
var httpsb = getHTTPSB();
44-
4537
var allUserData = {
4638
timeStamp: Date.now(),
4739
version: '',
@@ -63,22 +55,22 @@ var backupUserDataToFile = function() {
6355

6456
var userBlacklistReady = function(details) {
6557
allUserData.ubiquitousBlacklist = details.content;
66-
httpsb.assets.get(httpsb.userWhitelistPath, userWhitelistReady);
58+
messaging.ask({ what: 'readUserUbiquitousAllowRules' }, userWhitelistReady);
6759
};
6860

6961
var ruleDataReady = function(store) {
7062
allUserData.version = store.version;
7163
allUserData.scopes = store.scopes;
7264
allUserData.remoteBlacklists = store.remoteBlacklists;
73-
httpsb.assets.get(httpsb.userBlacklistPath, userBlacklistReady);
65+
messaging.ask({ what: 'readUserUbiquitousBlockRules' }, userBlacklistReady);
7466
};
7567

7668
var userSettingsReady = function(store) {
7769
allUserData.userSettings = store;
7870
chrome.storage.local.get(['version', 'scopes', 'remoteBlacklists'], ruleDataReady);
7971
};
8072

81-
chrome.storage.local.get(httpsb.userSettings, userSettingsReady);
73+
messaging.ask({ what: 'readUserSettings' }, userSettingsReady);
8274
};
8375

8476
/******************************************************************************/
@@ -99,7 +91,6 @@ var restoreUserDataFromFile = function() {
9991
};
10092

10193
var restoreBackup = function(data) {
102-
var httpsb = getHTTPSB();
10394
chrome.storage.local.set(data.userSettings, doCountdown);
10495
var store = {
10596
'version': data.version,
@@ -111,8 +102,18 @@ var restoreUserDataFromFile = function() {
111102
store.remoteBlacklists = data.remoteBlacklists;
112103
}
113104
chrome.storage.local.set(store, doCountdown);
114-
httpsb.assets.put(httpsb.userBlacklistPath, data.ubiquitousBlacklist, doCountdown);
115-
httpsb.assets.put(httpsb.userWhitelistPath, data.ubiquitousWhitelist, doCountdown);
105+
messaging.ask({
106+
what: 'writeUserUbiquitousBlockRules',
107+
content: data.ubiquitousBlacklist
108+
},
109+
doCountdown
110+
);
111+
messaging.ask({
112+
what: 'writeUserUbiquitousAllowRules',
113+
content: data.ubiquitousWhitelist
114+
},
115+
doCountdown
116+
);
116117
};
117118

118119
var validateBackup = function(s) {
@@ -172,7 +173,7 @@ var restoreUserDataFromFile = function() {
172173
/******************************************************************************/
173174

174175
var resetUserData = function() {
175-
chrome.runtime.sendMessage({
176+
messaging.tell({
176177
what: 'gotoExtensionURL',
177178
url: 'setup.html'
178179
});
@@ -221,40 +222,53 @@ var renderAssetList = function(details) {
221222
/******************************************************************************/
222223

223224
var updateAssets = function() {
224-
var httpsb = getHTTPSB();
225225
setAssetListClassBit(2, true);
226226
var onDone = function(details) {
227227
if ( details.changedCount !== 0 ) {
228-
httpsb.loadUpdatableAssets();
228+
messaging.tell({ what: 'loadUpdatableAssets' });
229229
}
230230
};
231-
httpsb.assetUpdater.update(updateList, onDone);
231+
messaging.ask({ what: 'launchAssetUpdater', list: updateList }, onDone);
232232
};
233233

234234
/******************************************************************************/
235235

236236
var updateAssetsList = function() {
237-
getHTTPSB().assetUpdater.getList(renderAssetList);
237+
messaging.ask({ what: 'getAssetUpdaterList' }, renderAssetList);
238238
};
239239

240240
/******************************************************************************/
241241

242242
// Updating all assets could be done from elsewhere and if so the
243243
// list here needs to be updated.
244244

245-
var onMessage = function(request) {
246-
if ( request && request.what === 'allLocalAssetsUpdated' ) {
247-
updateAssetsList();
245+
var onAnnounce = function(msg) {
246+
switch ( msg.what ) {
247+
case 'allLocalAssetsUpdated':
248+
updateAssetsList();
249+
break;
250+
251+
default:
252+
break;
248253
}
249254
};
250-
chrome.runtime.onMessage.addListener(onMessage);
255+
256+
messaging.start('about.js');
257+
messaging.listen(onAnnounce);
251258

252259
/******************************************************************************/
253260

254261
(function() {
255-
var httpsb = getHTTPSB();
256-
$('#aboutVersion').html(httpsb.manifest.version);
257-
$('#aboutStorageUsed').html(chrome.i18n.getMessage('aboutStorageUsed').replace('{{storageUsed}}', httpsb.storageQuota ? (httpsb.storageUsed / httpsb.storageQuota * 100).toFixed(1) : 0));
262+
$('#aboutVersion').html(chrome.runtime.getManifest().version);
263+
var renderStats = function(details) {
264+
var template = chrome.i18n.getMessage('aboutStorageUsed');
265+
var percent = 0;
266+
if ( details.storageQuota ) {
267+
percent = (details.storageUsed / details.storageQuota * 100).toFixed(1);
268+
}
269+
$('#aboutStorageUsed').html(template.replace('{{storageUsed}}', percent));
270+
};
271+
messaging.ask({ what: 'getSomeStats' }, renderStats);
258272
})();
259273

260274
/******************************************************************************/

js/asset-updater.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ var getUpdateList = function(callback) {
9595
}
9696
}
9797

98-
HTTPSB.utils.reportBack(callback, { 'list': toUpdate });
98+
callback({ 'list': toUpdate });
9999
};
100100

101101
var validateChecksums = function(details) {
@@ -135,13 +135,13 @@ var update = function(list, callback) {
135135
var assetProcessedCount;
136136
var updatedAssetChecksums = [];
137137

138-
var reportBack = function() {
138+
var onCompleted = function() {
139139
var details = {
140140
what: 'allLocalAssetsUpdated',
141141
changedCount: assetChangedCount
142142
};
143-
HTTPSB.utils.reportBack(callback, details);
144-
chrome.runtime.sendMessage(details);
143+
callback(details);
144+
HTTPSB.messaging.announce(details);
145145
};
146146

147147
var doCountdown = function() {
@@ -152,7 +152,7 @@ var update = function(list, callback) {
152152
HTTPSB.assets.put(
153153
'assets/checksums.txt',
154154
updatedAssetChecksums.join('\n'),
155-
reportBack
155+
onCompleted
156156
);
157157
chrome.storage.local.set({ 'assetsUpdateTimestamp': Date.now() });
158158
};
@@ -172,7 +172,7 @@ var update = function(list, callback) {
172172
var processList = function() {
173173
assetProcessedCount = Object.keys(list).length;
174174
if ( assetProcessedCount === 0 ) {
175-
reportBack();
175+
onCompleted();
176176
return;
177177
}
178178
var entry;

js/assets.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ var readLocalFile = function(path, callback) {
185185
'content': content,
186186
'error': err
187187
};
188-
HTTPSB.utils.reportBack(callback, details);
188+
callback(details);
189189
};
190190

191191
var onLocalFileLoaded = function() {
@@ -249,7 +249,7 @@ var readRemoteFile = function(path, callback) {
249249
'content': content,
250250
'error': err
251251
};
252-
HTTPSB.utils.reportBack(callback, details);
252+
callback(details);
253253
};
254254

255255
var onRemoteFileLoaded = function() {
@@ -286,7 +286,7 @@ var writeLocalFile = function(path, content, callback) {
286286
'content': content,
287287
'error': err
288288
};
289-
HTTPSB.utils.reportBack(callback, details);
289+
callback(details);
290290
};
291291

292292
var onFileWriteSuccess = function() {
@@ -354,7 +354,7 @@ var updateFromRemote = function(details, callback) {
354354
var targetMd5 = details.md5 || '';
355355

356356
var reportBackError = function() {
357-
HTTPSB.utils.reportBack(callback, {
357+
callback({
358358
'path': targetPath,
359359
'error': 'Error'
360360
});

0 commit comments

Comments
 (0)