summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/service-workers/stub-4.2-client.html
blob: 4e8c3639df5405ada92d637cf27e3346e3abc989 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<!DOCTYPE html>
<html>
<title>Service Workers: Client</title>
    <head>
        <link rel="help" href="https://w3c.github.io/ServiceWorker/#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>