| <!DOCTYPE html> |
| <html> |
| <title>Service Workers: Client</title> |
| <head> |
| <link rel="help" href="https://slightlyoff.github.io/ServiceWorker/spec/service_worker/#client"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| |
| <script src=/resources/WebIDLParser.js></script> |
| <script src=/resources/idlharness.js></script> |
| |
| </head> |
| <body> |
| |
| <script type=text/plain id="idl_0"> |
| [Constructor()] // no-op constructor |
| interface Client { |
| readonly attribute unsigned long id; |
| void postMessage(any message, DOMString targetOrigin, |
| optional sequence<Transferable> transfer); |
| }; |
| </pre> |
| |
| <!-- |
| The `Client` interface represents the window or the worker (defined as client) |
| that is [controlled][1] by the Service Worker. This object provides a no-op |
| constructor. Callers should note that only `Client` objects created by the user |
| agent (see [`this.clients.getServiced()`][2]) will provide meaningful |
| functionality. |
| |
| The `id` of a `Client` identifies the specific client object from the list of |
| client objects serviced by the Service Worker. The `postMessage(message, |
| targetOrigin, transfer)` method of a `[Client][3]`, when called, causes a |
| `[MessageEvent][4]` to be dispatched at the client object. |
| |
| |
| |
| [1]: #document-control |
| [2]: #get-serviced-method |
| [3]: #client-interface |
| [4]: http://goo.gl/4SLWiH |
| --> |
| |
| |
| <script type=text/plain id="untested_idls"> |
| interface Transferable {}; |
| </pre> |
| |
| <script> |
| var idl_array = new IdlArray(); |
| idl_array.add_untested_idls(document.getElementById("untested_idls").textContent); |
| idl_array.add_idls(document.getElementById("idl_0").textContent); |
| idl_array.add_objects({ |
| Client: ["throw new Error ('No object defined for the Client interface')"] |
| }); |
| idl_array.test(); |
| </script> |
| |
| </body> |
| </html> |
| |