Bug 753105 - Change Websocket "internal error" code to 2011. r=mcmanus
authorJason Duell <jduell.mcbugs@gmail.com>
Thu, 17 May 2012 10:59:26 -0700
changeset 94242 48bd6f4c119ab6d6b19608c3f81003f4a9f44a19
parent 94241 b65953b2b195c3da5c6f267fb37feec5e7395211
child 94243 7d409147c4fd455fccd54a3d88136c61a93efac2
push id22704
push userryanvm@gmail.com
push dateFri, 18 May 2012 03:26:49 +0000
treeherdermozilla-central@e794cef56df6 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmcmanus
bugs753105
milestone15.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 753105 - Change Websocket "internal error" code to 2011. r=mcmanus
netwerk/protocol/websocket/nsIWebSocketChannel.idl
--- a/netwerk/protocol/websocket/nsIWebSocketChannel.idl
+++ b/netwerk/protocol/websocket/nsIWebSocketChannel.idl
@@ -43,17 +43,17 @@ interface nsILoadGroup;
 interface nsIWebSocketListener;
 interface nsIInputStream;
 
 #include "nsISupports.idl"
 
 /** 
  *  You probably want nsI{Moz}WebSocket.idl
  */
-[uuid(ace34548-6dde-4570-b0b4-451aa6a877e0)]
+[uuid(0683E9A4-994D-11E1-9478-1E356188709B)]
 interface nsIWebSocketChannel : nsISupports
 {
     /**
      * The original URI used to construct the protocol connection. This is used
      * in the case of a redirect or URI "resolution" (e.g. resolving a
      * resource: URI to a file: URI) so that the original pre-redirect
      * URI can still be obtained.  This is never null.
      */
@@ -129,20 +129,23 @@ interface nsIWebSocketChannel : nsISuppo
     const unsigned short CLOSE_UNSUPPORTED_DATATYPE = 1003;
     //  code 1004 is reserved
     const unsigned short CLOSE_NO_STATUS            = 1005;
     const unsigned short CLOSE_ABNORMAL             = 1006;
     const unsigned short CLOSE_INVALID_PAYLOAD      = 1007;
     const unsigned short CLOSE_POLICY_VIOLATION     = 1008;
     const unsigned short CLOSE_TOO_LARGE            = 1009;
     const unsigned short CLOSE_EXTENSION_MISSING    = 1010;
-
-    // Websocket spec doesn't have equivalent of HTTP 500 code for internal
-    // errors: just use CLOSE_GOING_AWAY for now
-    const unsigned short CLOSE_INTERNAL_ERROR      = CLOSE_GOING_AWAY;
+    // Initially used just for server-side internal errors: adopted later for
+    // client-side errors too (not clear if will make into spec: see 
+    // http://www.ietf.org/mail-archive/web/hybi/current/msg09372.html
+    const unsigned short CLOSE_INTERNAL_ERROR       = 1011;
+    // MUST NOT be set as a status code in Close control frame by an endpoint:
+    // To be used if TLS handshake failed (ex: server certificate unverifiable)
+    const unsigned short CLOSE_TLS_FAILED           = 1015;
 
     /**
      * Use to send text message down the connection to WebSocket peer.
      *
      * @param aMsg the utf8 string to send
      */
     void sendMsg(in AUTF8String aMsg);