| Index: third_party/WebKit/LayoutTests/external/wpt/webmessaging/Channel_postMessage_clone_port.htm
|
| diff --git a/third_party/WebKit/LayoutTests/external/wpt/webmessaging/Channel_postMessage_clone_port.htm b/third_party/WebKit/LayoutTests/external/wpt/webmessaging/Channel_postMessage_clone_port.htm
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..0e2e2fcd14199224d93bb360320484de732353f9
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/external/wpt/webmessaging/Channel_postMessage_clone_port.htm
|
| @@ -0,0 +1,42 @@
|
| +<!DOCTYPE html>
|
| +<html>
|
| +<head>
|
| +<title> postMessage(): clone a port </title>
|
| +<script src="/resources/testharness.js"></script>
|
| +<script src="/resources/testharnessreport.js"></script>
|
| +</head>
|
| +<body>
|
| +<div id=log></div>
|
| +<script>
|
| + 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(evt.data == "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(e.data, "ping"); }, "Data sent through remote port is received by the new cloned port");
|
| + t.done();
|
| + }
|
| + }
|
| + });
|
| +
|
| + ChannelA.port1.postMessage("ports", [OriginalPort]);
|
| + ChannelB.port1.postMessage("ping");
|
| +</script>
|
| +</body>
|
| +</html>
|
|
|