OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2009 Google Inc. All rights reserved. | 2 * Copyright (C) 2009 Google Inc. All rights reserved. |
3 * Copyright (C) 2010, 2011 Apple Inc. All Rights Reserved. | 3 * Copyright (C) 2010, 2011 Apple Inc. All Rights Reserved. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions are | 6 * modification, are permitted provided that the following conditions are |
7 * met: | 7 * met: |
8 * | 8 * |
9 * * Redistributions of source code must retain the above copyright | 9 * * Redistributions of source code must retain the above copyright |
10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
(...skipping 11 matching lines...) Expand all Loading... |
22 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | 22 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
23 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | 23 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
24 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | 24 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
25 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | 25 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
26 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 26 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
27 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 27 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
28 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 28 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
29 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 29 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
30 */ | 30 */ |
31 | 31 |
32 // http://dev.w3.org/html5/websockets/#websocket | 32 // https://html.spec.whatwg.org/multipage/comms.html#the-websocket-interface |
33 // http://www.whatwg.org/specs/web-apps/current-work/multipage/network.html#webs
ocket | |
34 | 33 |
35 // FIXME: use BinaryType in binaryType | 34 // FIXME: use BinaryType in binaryType |
36 enum BinaryType { "blob", "arraybuffer" }; | 35 enum BinaryType { "blob", "arraybuffer" }; |
37 | 36 |
38 [ | 37 [ |
39 ActiveDOMObject, | 38 ActiveDOMObject, |
40 // FIXME: should be optional union type http://crbug.com/240176 | 39 // FIXME: Spec has DOMString[]. https://www.w3.org/Bugs/Public/show_bug.cgi?
id=28102 |
41 Constructor(DOMString url, optional DOMString protocol), | 40 Constructor(DOMString url, optional (DOMString or sequence<DOMString>) proto
cols), |
42 Constructor(DOMString url, sequence<DOMString> protocols), | |
43 ConstructorCallWith=ExecutionContext, | 41 ConstructorCallWith=ExecutionContext, |
44 Exposed=(Window,Worker), | 42 Exposed=(Window,Worker), |
| 43 TypeChecking=Interface, |
45 RaisesException=Constructor, | 44 RaisesException=Constructor, |
46 GarbageCollected, | 45 GarbageCollected, |
47 ImplementedAs=DOMWebSocket, | 46 ImplementedAs=DOMWebSocket, |
48 ] interface WebSocket : EventTarget { | 47 ] interface WebSocket : EventTarget { |
49 [DeprecateAs=WebSocketURL] readonly attribute DOMString URL; // Lowercased .
url is the one in the spec, but leaving .URL for compatibility reasons. | 48 // FIXME: Lowercase .url is in the spec, .URL is for compatibility reasons.
Remove when possible. |
| 49 [DeprecateAs=WebSocketURL] readonly attribute DOMString URL; |
50 readonly attribute DOMString url; | 50 readonly attribute DOMString url; |
51 | 51 |
52 // ready state | 52 // ready state |
53 const unsigned short CONNECTING = 0; | 53 const unsigned short CONNECTING = 0; |
54 const unsigned short OPEN = 1; | 54 const unsigned short OPEN = 1; |
55 const unsigned short CLOSING = 2; | 55 const unsigned short CLOSING = 2; |
56 const unsigned short CLOSED = 3; | 56 const unsigned short CLOSED = 3; |
57 readonly attribute unsigned short readyState; | 57 readonly attribute unsigned short readyState; |
58 readonly attribute unsigned long bufferedAmount; | 58 readonly attribute unsigned long bufferedAmount; |
59 | 59 |
60 // networking | 60 // networking |
61 attribute EventHandler onopen; | 61 attribute EventHandler onopen; |
62 attribute EventHandler onerror; | 62 attribute EventHandler onerror; |
63 attribute EventHandler onclose; | 63 attribute EventHandler onclose; |
| 64 // FIXME: Per spec and impl, should never return undefined. Verify and remov
e extended attribute. |
64 [TreatReturnedNullStringAs=Undefined] readonly attribute DOMString extension
s; | 65 [TreatReturnedNullStringAs=Undefined] readonly attribute DOMString extension
s; |
| 66 // FIXME: Per spec and impl, should never return undefined. Verify and remov
e extended attribute. |
65 [TreatReturnedNullStringAs=Undefined] readonly attribute DOMString protocol; | 67 [TreatReturnedNullStringAs=Undefined] readonly attribute DOMString protocol; |
66 [RaisesException] void close([Clamp] optional unsigned short code, optional
DOMString reason); | 68 [RaisesException] void close([Clamp] optional unsigned short code, optional
USVString reason); |
67 | 69 |
68 // messaging | 70 // messaging |
69 attribute EventHandler onmessage; | 71 attribute EventHandler onmessage; |
70 attribute DOMString binaryType; | 72 attribute DOMString binaryType; |
71 [RaisesException] void send(DOMString data); | 73 [RaisesException] void send(USVString data); |
72 [RaisesException] void send(Blob data); | 74 [RaisesException] void send(Blob data); |
73 [RaisesException] void send(ArrayBuffer data); | 75 [RaisesException] void send(ArrayBuffer data); |
74 [RaisesException] void send(ArrayBufferView data); | 76 [RaisesException] void send(ArrayBufferView data); |
75 }; | 77 }; |
OLD | NEW |