gecko-dev/testing/web-platform/tests/payment-handler/untrusted-event.js
Jinho Bang c0ebb983c3 Bug 1454245 [wpt PR 10483] - PaymentHandler: Not allow to call operation if event is not trusted, a=testonly
Automatic update from web-platform-testsPaymentHandler: Not allow to call operation if event is not trusted

Related spec change:
  https://github.com/w3c/payment-handler/pull/294

Bug: 833530
Change-Id: I65d0e01bb5b6bfdd44925b90ba98837161cc136b
Reviewed-on: https://chromium-review.googlesource.com/1013664
Reviewed-by: Rouslan Solomakhin <rouslan@chromium.org>
Commit-Queue: Jinho Bang <jinho.bang@samsung.com>
Cr-Commit-Position: refs/heads/master@{#551238}

--

wpt-commits: e08f2142aa8e98034966994966e02fff3747bdf8
wpt-pr: 10483
2018-04-26 14:51:06 +00:00

59 lines
1.2 KiB
JavaScript

let sender = null;
self.addEventListener('message', e => {
sender = e.source;
if (e.data == 'paymentrequest') {
self.dispatchEvent(new PaymentRequestEvent('paymentrequest', {
methodData: [{
supportedMethods: 'basic-card'
}],
total: {
currency: 'USD',
value: '100'
},
modifiers: [{
supportedMethods: 'basic-card'
}]
}));
} else if (e.data == 'canmakepayment') {
self.dispatchEvent(new CanMakePaymentEvent('canmakepayment', {
methodData: [{
supportedMethods: 'basic-card'
}],
modifiers: [{
supportedMethods: 'basic-card'
}]
}));
}
});
self.addEventListener('paymentrequest', async e => {
const result = [];
try {
e.respondWith({});
} catch (exception) {
result.push(exception.name);
}
try {
await e.openWindow('payment-app/payment.html');
} catch (exception) {
result.push(exception.name);
}
sender.postMessage(result);
});
self.addEventListener('canmakepayment', async e => {
const result = [];
try {
e.respondWith({});
} catch (exception) {
result.push(exception.name);
}
sender.postMessage(result);
});