blob: 0e2e2fcd14199224d93bb360320484de732353f9 [file] [log] [blame]
<!DOCTYPE html>
<title> postMessage(): clone a port </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id=log></div>
var OriginalPort = null;
var ClonedPort = null;
var description = "Test Description: When the user agent is to clone a port original port, with "
+ "the clone being owned by owner, it must return a new MessagePort object";
var t = async_test("Test Description: " + description);
var ChannelA = new MessageChannel();
var ChannelB = new MessageChannel();
OriginalPort = ChannelB.port2;
ChannelA.port2.onmessage = t.step_func(function(evt)
if( == "ports")
ClonedPort = evt.ports[0];
assert_not_equals(ClonedPort, OriginalPort, "new cloned port object should not equal to the original port!");
ClonedPort.onmessage = function(e)
test(function(){ assert_equals(, "ping"); }, "Data sent through remote port is received by the new cloned port");
ChannelA.port1.postMessage("ports", [OriginalPort]);