blob: d536a2c0ae99c083eab875d7968c8ecc6ab4b9bc [file] [log] [blame]
<!DOCTYPE html>
<title>Service Workers: onmessage</title>
<link rel="help" href="">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
`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]`.
[4]: #client-interface
test(function() {
// not_implemented();
}, "There are no tests for section onmessage so far.");