blob: 96976c1ee1dc278d6e99adc9983c7aab71506121 [file] [log] [blame]
<!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>