Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(171)

Side by Side Diff: third_party/WebKit/LayoutTests/http/tests/payments/chromium/resources/payment-app.js

Issue 2646313002: PaymentApp: Implement invokePaymentApp() in renderer side. (Closed)
Patch Set: Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 var testerResolver;
2 var port;
3
4 self.addEventListener('message', e => {
5 if (e.data.port) {
6 port = e.data.port;
7 port.postMessage('payment_app_ready');
8 } else {
9 // If the message event is initiated from tester, ignores this event.
falken 2017/01/24 02:00:51 What is "tester", and why is it sending a message
10 return;
11 }
12 e.waitUntil(new Promise((resolve) => {
13 testerResolver = resolve;
14 })
15 .then(() => {
16 port.postMessage('payment_app_quit');
17 }));
18 });
19
20 function getMessageFromPaymentAppWindow() {
21 return new Promise((resolve, reject) => {
22 var listener = self.addEventListener('message', e => {
23 resolve(e.data);
24 self.removeEventListener(listener);
falken 2017/01/24 02:00:51 nit: Having multiple message handlers seems more c
25 });
26 });
27 }
28
29 self.addEventListener('paymentrequest', e => {
30 var paymentAppWindow;
31
32 e.waitUntil(clients.openWindow('payment-app-window.html')
33 .then(windowClient => {
34 paymentAppWindow = windowClient;
35 return getMessageFromPaymentAppWindow();
36 })
37 .then(message => {
38 if (message == 'payment_app_window_ready')
falken 2017/01/24 02:00:51 What other message could arrive here? Could this b
39 paymentAppWindow.postMessage('payment_app_request');
40 return getMessageFromPaymentAppWindow();
41 })
42 .then(message => {
43 if (message == 'payment_app_response') {
falken 2017/01/24 02:00:51 Same.
44 // Disconnect tester.
45 testerResolver();
46 }
47 }));
48 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698