OLD | NEW |
1 // Supports test-runner control messages being send over |messagePort|, which en
able | 1 // Supports test-runner control messages being send over |messagePort|, which en
able |
2 // workers to have limited access to TestRunner methods. | 2 // workers to have limited access to TestRunner methods. |
3 function supportTestRunnerMessagesOnPort(messagePort) | 3 function supportTestRunnerMessagesOnPort(messagePort) |
4 { | 4 { |
5 if (!window.testRunner) | 5 if (!window.testRunner) |
6 return; | 6 return; |
7 | 7 |
8 messagePort.addEventListener('message', function(message) { | 8 messagePort.addEventListener('message', function(message) { |
9 if (message.data.type == 'simulateWebNotificationClick') | 9 if (message.data.type == 'simulateWebNotificationClick') |
10 testRunner.simulateWebNotificationClick(message.data.title, -1 /* ac
tion_index */); | 10 testRunner.simulateWebNotificationClick(message.data.title, -1 /* ac
tion_index */); |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
94 port.addEventListener('message', function listener(event) { | 94 port.addEventListener('message', function listener(event) { |
95 port.removeEventListener('message', listener); | 95 port.removeEventListener('message', listener); |
96 if (typeof event.data != 'object' || event.data.command != 'click')
{ | 96 if (typeof event.data != 'object' || event.data.command != 'click')
{ |
97 reject(new Error('Invalid message from the Service Worker.')); | 97 reject(new Error('Invalid message from the Service Worker.')); |
98 } else { | 98 } else { |
99 resolve(event.data); | 99 resolve(event.data); |
100 } | 100 } |
101 }); | 101 }); |
102 }); | 102 }); |
103 } | 103 } |
| 104 |
| 105 // Sets up a listener for events of |type| on |target|. The listener is removed
the first time the |
| 106 // event fires. Returns a promise that resolves with the fired event. |
| 107 function listenOnce(target, type) |
| 108 { |
| 109 return new Promise((resolve, reject) => { |
| 110 target.addEventListener(type, function listener(event) { |
| 111 target.removeEventListener(type, listener); |
| 112 resolve(event); |
| 113 }); |
| 114 }); |
| 115 } |
OLD | NEW |