diff options
author | Florian Dold <florian.dold@gmail.com> | 2016-01-06 15:58:18 +0100 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2016-01-06 15:58:18 +0100 |
commit | 5bb1c95ec531c4cf7848466e4ff5c3408f2dca7f (patch) | |
tree | 366c7fce1e6fcec0196f301b4cf2539f32733fb8 /extension/background/messaging.ts | |
parent | abf15268acafe588191fffb7ca6ddb963244bb0f (diff) |
make wallet independent of chrome/WX api
Diffstat (limited to 'extension/background/messaging.ts')
-rw-r--r-- | extension/background/messaging.ts | 59 |
1 files changed, 36 insertions, 23 deletions
diff --git a/extension/background/messaging.ts b/extension/background/messaging.ts index 8cde06262..d95c4bfb5 100644 --- a/extension/background/messaging.ts +++ b/extension/background/messaging.ts @@ -57,48 +57,61 @@ function makeHandlers(wallet) { amount_str: detail.amount_str }; wallet.confirmReserve(req) - .then((resp) => { - if (resp.success) { - resp.backlink = chrome.extension.getURL("pages/reserve-success.html"); - } - sendResponse(resp); - }); + .then((resp) => { + if (resp.success) { + resp.backlink = chrome.extension.getURL( + "pages/reserve-success.html"); + } + sendResponse(resp); + }); return true; }, ["confirm-pay"]: function(db, detail, sendResponse) { wallet.confirmPay(detail.offer, detail.merchantPageUrl) - .then(() => { - sendResponse({success: true}) - }) - .catch((e) => { - sendResponse({error: e.message}); - }); + .then(() => { + sendResponse({success: true}) + }) + .catch((e) => { + sendResponse({error: e.message}); + }); return true; }, ["execute-payment"]: function(db, detail, sendResponse) { wallet.doPayment(detail.H_contract) - .then((r) => { - sendResponse({ - success: true, - payUrl: r.payUrl, - payReq: r.payReq - }); - }) - .catch((e) => { - sendResponse({success: false, error: e.message}); - }); + .then((r) => { + sendResponse({ + success: true, + payUrl: r.payUrl, + payReq: r.payReq + }); + }) + .catch((e) => { + sendResponse({success: false, error: e.message}); + }); // async sendResponse return true; } }; } +class ChromeBadge { + setText(s: string) { + chrome.browserAction.setBadgeText({text: s}); + } + + setColor(c: string) { + chrome.browserAction.setBadgeBackgroundColor({color: c}); + } +} + function wxMain() { chrome.browserAction.setBadgeText({text: ""}); openTalerDb().then((db) => { - let wallet = new Wallet(db, undefined, undefined); + let http = new BrowserHttpLib(); + let badge = new ChromeBadge(); + let wallet = new Wallet(db, http, badge); let handlers = makeHandlers(wallet); wallet.updateBadge(); chrome.runtime.onMessage.addListener( |