Index: third_party/WebKit/LayoutTests/imported/wpt/workers/postMessage_clone_port.htm |
diff --git a/third_party/WebKit/LayoutTests/imported/wpt/workers/postMessage_clone_port.htm b/third_party/WebKit/LayoutTests/imported/wpt/workers/postMessage_clone_port.htm |
new file mode 100644 |
index 0000000000000000000000000000000000000000..b1d7b84e3c09d06b2b39f9722e656787a174f5a8 |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/imported/wpt/workers/postMessage_clone_port.htm |
@@ -0,0 +1,22 @@ |
+<!DOCTYPE html> |
+<title> postMessage(): clone a port </title> |
+<script src="/resources/testharness.js"></script> |
+<script src="/resources/testharnessreport.js"></script> |
+<div id=log></div> |
+<script> |
+async_test(function(t) { |
+ var channelA = new MessageChannel(); |
+ var channelB = new MessageChannel(); |
+ var originalPort = channelB.port2; |
+ channelA.port2.onmessage = t.step_func(function(e) { |
+ assert_equals(e.data, "ports"); |
+ var clonedPort = e.ports[0]; |
+ assert_not_equals(clonedPort, originalPort, "new cloned port object should not equal to the original port!"); |
+ clonedPort.onmessage = t.step_func_done(function(e) { |
+ assert_equals(e.data, "ping", "Data sent through remote port is received by the new cloned port"); |
+ }); |
+ }); |
+ channelA.port1.postMessage("ports", [channelB.port2]); |
+ channelB.port1.postMessage("ping"); |
+}); |
+</script> |