summaryrefslogtreecommitdiffstats
path: root/dom/serviceworkers/test/claim_worker_2.js
diff options
context:
space:
mode:
Diffstat (limited to 'dom/serviceworkers/test/claim_worker_2.js')
-rw-r--r--dom/serviceworkers/test/claim_worker_2.js34
1 files changed, 34 insertions, 0 deletions
diff --git a/dom/serviceworkers/test/claim_worker_2.js b/dom/serviceworkers/test/claim_worker_2.js
new file mode 100644
index 0000000000..4293873da7
--- /dev/null
+++ b/dom/serviceworkers/test/claim_worker_2.js
@@ -0,0 +1,34 @@
+onactivate = function (e) {
+ var result = {
+ resolve_value: false,
+ match_count_before: -1,
+ match_count_after: -1,
+ message: "claim_worker_2",
+ };
+
+ self.clients
+ .matchAll()
+ .then(function (matched) {
+ // should be 0
+ result.match_count_before = matched.length;
+ })
+ .then(function () {
+ return clients.claim();
+ })
+ .then(function (ret) {
+ result.resolve_value = ret;
+ return clients.matchAll();
+ })
+ .then(function (matched) {
+ // should be 1
+ result.match_count_after = matched.length;
+ if (result.match_count_after === 1) {
+ matched[0].postMessage(result);
+ } else {
+ dump("ERROR: claim_worker_2 failed to capture clients.\n");
+ for (let i = 0; i < matched.length; ++i) {
+ dump("### ### matched[" + i + "]: " + matched[i].url + "\n");
+ }
+ }
+ });
+};