<!DOCTYPE html> <html> <title>Service Workers: onmessage</title> <head> <link rel="help" href="https://w3c.github.io/ServiceWorker/#service-worker-global-scope-onmessage"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> </head> <body> <!-- `self.onmessage` is the [event handler][1] that must be supported as attribute by the `ServiceWorkerGlobalScope` object. `ServiceWorkerGlobalScope` objects act as if they had an implicit `[MessagePort][2]` associated with them. This port is part of a channel that is set up when the worker is created, but it is not exposed. This object must never be garbage collected before the `ServiceWorkerGlobalScope` object. All messages received by that port must immediately be retargeted at the `ServiceWorkerGlobalScope` object. That is, an event named `message` using the `[MessageEvent][3]` interface is dispatched on ServiceWorkerGlobalScope object. The `event.source` of these `[MessageEvent][3]`s are instances of `[Client][4]`. [1]: http://goo.gl/rBfiz0 [2]: http://goo.gl/tHBrI6 [3]: http://goo.gl/S5e0b6 [4]: #client-interface --> <script> test(function() { // not_implemented(); }, "There are no tests for section onmessage so far."); </script> </body> </html>