postMessage_ports_readonly_array.htm (770B)
1 <!DOCTYPE html> 2 <title> postMessage(): read-only ports array </title> 3 <script src="/resources/testharness.js"></script> 4 <script src="/resources/testharnessreport.js"></script> 5 <div id=log></div> 6 <script> 7 "use strict"; 8 async_test(function(t) { 9 var channel = new MessageChannel(); 10 var targetPort = channel.port2; 11 targetPort.start(); 12 targetPort.addEventListener("message", t.step_func_done(function(e) { 13 var channel3 = new MessageChannel(); 14 assert_throws_js(TypeError, () => { 15 e.ports.push(channel3.port1); 16 }, "ports is a frozen object"); 17 assert_equals(e.ports.length, 1, "ports is a read only array with length == 1."); 18 }), true); 19 var channel2 = new MessageChannel(); 20 channel.port1.postMessage("ports", [channel2.port1]); 21 }); 22 </script>