Index: third_party/WebKit/LayoutTests/http/tests/serviceworker/immutable-prototype-serviceworker.html |
diff --git a/third_party/WebKit/LayoutTests/http/tests/serviceworker/immutable-prototype-serviceworker.html b/third_party/WebKit/LayoutTests/http/tests/serviceworker/immutable-prototype-serviceworker.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..d7b7f6216cb2f585be866f884a896222c6c570da |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/http/tests/serviceworker/immutable-prototype-serviceworker.html |
@@ -0,0 +1,23 @@ |
+<!DOCTYPE html> |
+<html> |
+<script src="../resources/testharness.js"></script> |
+<script src="../resources/testharnessreport.js"></script> |
+<script> |
+'use strict'; |
+ |
+let expected = ['immutable', 'immutable', 'immutable', 'immutable', 'immutable']; |
+ |
+promise_test(t => |
+ navigator.serviceWorker.register('resources/immutable-prototype-serviceworker.js', {scope: './resources/'}) |
+ .then(registration => { |
+ let worker = registration.installing || registration.waiting || registration.active; |
+ let channel = new MessageChannel() |
+ worker.postMessage(channel.port2, [channel.port2]); |
+ let resolve; |
+ let promise = new Promise(r => resolve = r); |
+ channel.port1.onmessage = resolve; |
+ return promise.then(result => assert_array_equals(expected, result.data)); |
+ }), |
+'worker prototype chain should be immutable'); |
+</script> |
+</html> |