| <script src="/common/get-host-info.sub.js"></script> |
| <script src="test-helpers.sub.js?pipe=sub"></script> |
| <script> |
| var host_info = get_host_info(); |
| |
| function xhr_send(method, data) { |
| return new Promise(function(resolve, reject) { |
| var xhr = new XMLHttpRequest(); |
| xhr.onload = function() { |
| resolve(xhr); |
| }; |
| xhr.onerror = function() { |
| reject('XHR should succeed.'); |
| }; |
| xhr.responseType = 'text'; |
| xhr.open(method, './dummy?test', true); |
| xhr.send(data); |
| }); |
| } |
| |
| function coalesce_headers_test() { |
| return xhr_send('POST', 'test string') |
| .then(function(xhr) { |
| window.parent.postMessage({results: xhr.getResponseHeader('foo')}, |
| host_info['HTTPS_ORIGIN']); |
| |
| return new Promise(function(resolve) { |
| window.addEventListener('message', function handle(evt) { |
| if (evt.data !== 'ACK') { |
| return; |
| } |
| |
| window.removeEventListener('message', handle); |
| resolve(); |
| }); |
| }); |
| }); |
| } |
| |
| window.addEventListener('message', function(evt) { |
| var port; |
| |
| if (evt.data !== 'START') { |
| return; |
| } |
| |
| port = evt.ports[0]; |
| |
| coalesce_headers_test() |
| .then(function() { port.postMessage({results: 'finish'}); }) |
| .catch(function(e) { port.postMessage({results: 'failure:' + e}); }); |
| }); |
| </script> |