aboutsummaryrefslogtreecommitdiff
path: root/extension
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2015-12-20 20:34:20 +0100
committerFlorian Dold <florian.dold@gmail.com>2015-12-20 20:34:20 +0100
commit604cb2f80473c23f76afd37670a1a7249ae170a3 (patch)
tree12783d32e3a1cc17a113db4c8a9e1ff66a69414e /extension
parent8e80bbbbb8489532e1f2a5c9b632e5ead4a6ec68 (diff)
downloadwallet-core-604cb2f80473c23f76afd37670a1a7249ae170a3.tar.xz
Missing files, payment
Diffstat (limited to 'extension')
-rw-r--r--extension/background/wallet.js1
-rw-r--r--extension/background/wallet.ts1
-rw-r--r--extension/content_scripts/notify.js8
-rw-r--r--extension/content_scripts/notify.ts7
-rw-r--r--extension/lib/polyfill-react.js16
-rw-r--r--extension/lib/polyfill-react.ts19
-rw-r--r--extension/manifest.json2
-rw-r--r--extension/pages/confirm-create-reserve.js80
-rw-r--r--extension/pages/confirm-create-reserve.tsx48
9 files changed, 136 insertions, 46 deletions
diff --git a/extension/background/wallet.js b/extension/background/wallet.js
index a8e62abdf..2c8c11f33 100644
--- a/extension/background/wallet.js
+++ b/extension/background/wallet.js
@@ -199,6 +199,7 @@ function doPayment(db, detail, sendResponse) {
let req = db.transaction(['transactions']).objectStore("transactions").get(H_contract);
console.log("executing contract", H_contract);
req.onsuccess = (e) => {
+ console.log("got db response for existing contract");
if (!req.result) {
sendResponse({ success: false, error: "contract not found" });
return;
diff --git a/extension/background/wallet.ts b/extension/background/wallet.ts
index fa26ba1d2..bda4da30d 100644
--- a/extension/background/wallet.ts
+++ b/extension/background/wallet.ts
@@ -303,6 +303,7 @@ function doPayment(db, detail, sendResponse) {
let req = db.transaction(['transactions']).objectStore("transactions").get(H_contract);
console.log("executing contract", H_contract);
req.onsuccess = (e) => {
+ console.log("got db response for existing contract");
if (!req.result) {
sendResponse({success: false, error: "contract not found"});
return;
diff --git a/extension/content_scripts/notify.js b/extension/content_scripts/notify.js
index 899355f8e..065aae193 100644
--- a/extension/content_scripts/notify.js
+++ b/extension/content_scripts/notify.js
@@ -55,7 +55,7 @@ document.addEventListener('taler-execute-payment', function (e) {
},
};
chrome.runtime.sendMessage(msg, (resp) => {
- //console.log("got response from bg page", JSON.stringify(resp));
+ console.log("got backend response to execute-payment:", JSON.stringify(resp));
if (!resp.success) {
console.log("failure!");
return;
@@ -63,12 +63,16 @@ document.addEventListener('taler-execute-payment', function (e) {
let r = new XMLHttpRequest();
r.open('post', resp.payUrl);
r.send(JSON.stringify(resp.payReq));
+ let evt;
r.onload = (e) => {
if (r.status != 200) {
console.log("non-200 error");
console.log(r.responseText);
+ alert("merchant returned HTTP status " + r.status);
+ }
+ else {
+ evt = new CustomEvent("taler-payment-result", { detail: resp });
}
- let evt = new Event("taler-payment-result", resp);
document.dispatchEvent(evt);
};
});
diff --git a/extension/content_scripts/notify.ts b/extension/content_scripts/notify.ts
index 03135dd06..c45797db3 100644
--- a/extension/content_scripts/notify.ts
+++ b/extension/content_scripts/notify.ts
@@ -63,7 +63,7 @@ document.addEventListener('taler-execute-payment', function(e: CustomEvent) {
},
};
chrome.runtime.sendMessage(msg, (resp) => {
- //console.log("got response from bg page", JSON.stringify(resp));
+ console.log("got backend response to execute-payment:", JSON.stringify(resp));
if (!resp.success) {
console.log("failure!");
return;
@@ -71,12 +71,15 @@ document.addEventListener('taler-execute-payment', function(e: CustomEvent) {
let r = new XMLHttpRequest();
r.open('post', resp.payUrl);
r.send(JSON.stringify(resp.payReq));
+ let evt;
r.onload = (e) => {
if (r.status != 200) {
console.log("non-200 error");
console.log(r.responseText);
+ alert("merchant returned HTTP status " + r.status);
+ } else {
+ evt = new CustomEvent("taler-payment-result", {detail: resp});
}
- let evt = new Event("taler-payment-result", resp);
document.dispatchEvent(evt);
};
});
diff --git a/extension/lib/polyfill-react.js b/extension/lib/polyfill-react.js
new file mode 100644
index 000000000..f30ba7c64
--- /dev/null
+++ b/extension/lib/polyfill-react.js
@@ -0,0 +1,16 @@
+"use strict";
+let React = {
+ createElement: function (tag, props, ...children) {
+ let e = document.createElement(tag);
+ for (let k in props) {
+ e.setAttribute(k, props[k]);
+ }
+ for (let child of children) {
+ if ("string" === typeof child || "number" == typeof child) {
+ child = document.createTextNode(child);
+ }
+ e.appendChild(child);
+ }
+ return e;
+ }
+};
diff --git a/extension/lib/polyfill-react.ts b/extension/lib/polyfill-react.ts
new file mode 100644
index 000000000..8238093ab
--- /dev/null
+++ b/extension/lib/polyfill-react.ts
@@ -0,0 +1,19 @@
+"use strict";
+
+let React = {
+ createElement: function(tag, props, ...children) {
+ let e = document.createElement(tag);
+ for (let k in props) {
+ e.setAttribute(k, props[k]);
+ }
+ for (let child of children) {
+ if ("string" === typeof child || "number" == typeof child) {
+ child = document.createTextNode(child);
+ }
+ e.appendChild(child);
+ }
+ return e;
+ }
+};
+
+
diff --git a/extension/manifest.json b/extension/manifest.json
index 9394e0833..cc0ea58a7 100644
--- a/extension/manifest.json
+++ b/extension/manifest.json
@@ -16,7 +16,7 @@
],
"browser_action": {
- "default_icon": "icons/taler-logo-24.png",
+ "default_icon": "img/icon.png",
"default_title": "Taler",
"default_popup": "popup/balance-overview.html"
},
diff --git a/extension/pages/confirm-create-reserve.js b/extension/pages/confirm-create-reserve.js
index 5c35121e3..8e8d7e798 100644
--- a/extension/pages/confirm-create-reserve.js
+++ b/extension/pages/confirm-create-reserve.js
@@ -1,43 +1,41 @@
"use strict";
-
-let url = URI(document.location.href);
-let query = URI.parseQuery(url.query());
-
-function updateAmount() {
- let showAmount = document.getElementById("show-amount");
- console.log("Query is " + JSON.stringify(query));
- let s = query.amount_str;
- if (!s) {
- document.body.innerHTML = "Oops, something went wrong.";
- return;
- }
- showAmount.textContent = s;
-}
-
-function clone(obj) {
- // This is faster than it looks ...
- return JSON.parse(JSON.stringify(obj));
-}
-
-document.addEventListener("DOMContentLoaded", (e) => {
- updateAmount();
-
- document.getElementById("confirm").addEventListener("click", (e) => {
- let d = clone(query);
- d.mint = document.getElementById('mint-url').value;
- chrome.runtime.sendMessage({type:'confirm-reserve', detail: d}, (resp) => {
- if (resp.success === true) {
- document.location.href = resp.backlink;
- } else {
- document.body.innerHTML =
- `Oops, something went wrong.
- The bank responded with HTTP status code ${resp.status}.
- Here is some more info:
- <pre>${resp.text}</pre>`;
- }
+var ConfirmCreateReserve;
+(function (ConfirmCreateReserve) {
+ let url = URI(document.location.href);
+ let query = URI.parseQuery(url.query());
+ function updateAmount() {
+ let showAmount = document.getElementById("show-amount");
+ console.log("Query is " + JSON.stringify(query));
+ let s = query.amount_str;
+ if (!s) {
+ document.body.innerHTML = "Oops, something went wrong.";
+ return;
+ }
+ showAmount.textContent = s;
+ }
+ function clone(obj) {
+ // This is faster than it looks ...
+ return JSON.parse(JSON.stringify(obj));
+ }
+ document.addEventListener("DOMContentLoaded", (e) => {
+ updateAmount();
+ document.getElementById("confirm").addEventListener("click", (e) => {
+ let d = clone(query);
+ d.mint = document.getElementById('mint-url').value;
+ chrome.runtime.sendMessage({ type: 'confirm-reserve', detail: d }, (resp) => {
+ if (resp.success === true) {
+ document.location.href = resp.backlink;
+ }
+ else {
+ document.body.innerHTML =
+ `
+ Oops, something went wrong.
+ The bank responded with HTTP status code ${resp.status}.
+ Here is some more info:
+ <pre>${resp.text}</pre>
+ </div>`;
+ }
+ });
+ });
});
-
- });
-});
-
-
+})(ConfirmCreateReserve || (ConfirmCreateReserve = {}));
diff --git a/extension/pages/confirm-create-reserve.tsx b/extension/pages/confirm-create-reserve.tsx
new file mode 100644
index 000000000..380f769b1
--- /dev/null
+++ b/extension/pages/confirm-create-reserve.tsx
@@ -0,0 +1,48 @@
+"use strict";
+
+namespace ConfirmCreateReserve {
+
+ let url = URI(document.location.href);
+ let query: any = URI.parseQuery(url.query());
+
+ function updateAmount() {
+ let showAmount = document.getElementById("show-amount");
+ console.log("Query is " + JSON.stringify(query));
+ let s = query.amount_str;
+ if (!s) {
+ document.body.innerHTML = "Oops, something went wrong.";
+ return;
+ }
+ showAmount.textContent = s;
+ }
+
+ function clone(obj) {
+ // This is faster than it looks ...
+ return JSON.parse(JSON.stringify(obj));
+ }
+
+ document.addEventListener("DOMContentLoaded", (e) => {
+ updateAmount();
+
+ document.getElementById("confirm").addEventListener("click", (e) => {
+ let d = clone(query);
+ d.mint = (document.getElementById('mint-url') as HTMLInputElement).value;
+ chrome.runtime.sendMessage({type:'confirm-reserve', detail: d},
+ (resp) => {
+ if (resp.success === true) {
+ document.location.href = resp.backlink;
+ } else {
+ document.body.innerHTML =
+ `
+ Oops, something went wrong.
+ The bank responded with HTTP status code ${resp.status}.
+ Here is some more info:
+ <pre>${resp.text}</pre>
+ </div>`;
+ }
+ });
+
+ });
+ });
+
+} \ No newline at end of file