Index: LayoutTests/http/tests/serviceworker/multiple-register.html |
diff --git a/LayoutTests/http/tests/serviceworker/multiple-register.html b/LayoutTests/http/tests/serviceworker/multiple-register.html |
index 4e6841925a75b8c717aec21922fc2bb737d6b245..34793a521b1b56bc0735c37e26915f7b361cf00a 100644 |
--- a/LayoutTests/http/tests/serviceworker/multiple-register.html |
+++ b/LayoutTests/http/tests/serviceworker/multiple-register.html |
@@ -6,7 +6,7 @@ |
var worker_url = 'resources/empty-worker.js'; |
async_test(function(t) { |
- var scope = 'subsequent-register' |
+ var scope = 'scope/subsequent-register'; |
var worker; |
service_worker_unregister_and_register(t, worker_url, scope) |
@@ -28,7 +28,7 @@ async_test(function(t) { |
}, 'Subsequent registrations resolve to the same worker'); |
async_test(function(t) { |
- var scope = 'concurrent-register' |
+ var scope = 'scope/concurrent-register'; |
var worker; |
navigator.serviceWorker.unregister(scope) |
@@ -49,4 +49,24 @@ async_test(function(t) { |
}) |
.catch(unreached_rejection(t)); |
}, 'Concurrent registrations resolve to the same worker'); |
+ |
+async_test(function(t) { |
+ var scope = 'scope/multiple-frames'; |
+ var worker; |
+ |
+ service_worker_unregister_and_register(t, worker_url, scope) |
+ .then(function(registered_worker) { |
+ worker = registered_worker; |
+ return with_iframe('nothing-here.html'); |
+ }) |
+ .then(function(frame) { |
+ return frame.contentWindow.navigator.serviceWorker.register( |
+ worker_url, { scope: scope }); |
+ }) |
+ .then(function(registered_worker) { |
+ assert_not_equals(registered_worker, worker); |
+ service_worker_unregister_and_done(t, scope); |
+ }) |
+ .catch(unreached_rejection(t)); |
+ }, 'Registrations in separate frames resolve to different workers'); |
</script> |