Index: third_party/WebKit/LayoutTests/http/tests/inspector/workers-on-navigation.html |
diff --git a/third_party/WebKit/LayoutTests/http/tests/inspector/workers-on-navigation.html b/third_party/WebKit/LayoutTests/http/tests/inspector/workers-on-navigation.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..ae5fa491f37b839346c2fdf2417540ee1eb868a6 |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/http/tests/inspector/workers-on-navigation.html |
@@ -0,0 +1,46 @@ |
+<html> |
+<head> |
+<script src='inspector-test.js'></script> |
+<script> |
+ |
+function startWorker() { |
+ window.worker = new Worker('resources/worker.js'); |
+} |
+ |
+async function test() { |
+ var workerTargetId; |
+ var navigated = false; |
+ var observer = { |
+ targetAdded(target) { |
+ if (!InspectorTest.isDedicatedWorker(target)) |
+ return; |
+ InspectorTest.addResult('Worker added'); |
+ workerTargetId = target.id(); |
+ if (navigated) |
+ InspectorTest.completeTest(); |
+ }, |
+ targetRemoved(target) { |
+ if (!InspectorTest.isDedicatedWorker(target)) |
+ return; |
+ if (target.id() === workerTargetId) { |
+ InspectorTest.addResult('Worker removed'); |
+ workerTargetId = ''; |
+ } else { |
+ InspectorTest.addResult('Unknown worker removed'); |
+ } |
+ } |
+ }; |
+ |
+ SDK.targetManager.observeTargets(observer); |
+ await InspectorTest.evaluateInPagePromise('startWorker()'); |
+ await InspectorTest.navigatePromise('http://localhost:8080/inspector/workers-on-navigation.html'); |
+ navigated = true; |
+ await InspectorTest.evaluateInPagePromise('startWorker()'); |
+} |
+ |
+</script> |
+</head> |
+<body onload='runTest()'> |
+<p>Tests that workers are correctly detached upon navigation.</p> |
+</body> |
+</html> |