W3C home > Mailing lists > Public > public-html-commits@w3.org > May 2012

html5/websockets Overview.html,1.264,1.265

From: Ian Hickson via cvs-syncmail <cvsmail@w3.org>
Date: Wed, 02 May 2012 20:06:42 +0000
To: public-html-commits@w3.org
Message-Id: <E1SPfow-0005uC-4g@lionel-hutz.w3.org>
Update of /sources/public/html5/websockets
In directory hutz:/tmp/cvs-serv22686

Modified Files:
	Overview.html 
Log Message:
Make WebSocket silently convert isolated surrogated to U+FFFD rather than throwing an exception. This will result in data corruption when a user types in astral-plane characters that get truncated by naiive script half-way through, rather than crashing the application. (whatwg r7084)

Index: Overview.html
===================================================================
RCS file: /sources/public/html5/websockets/Overview.html,v
retrieving revision 1.264
retrieving revision 1.265
diff -u -d -r1.264 -r1.265
--- Overview.html	2 May 2012 19:51:03 -0000	1.264
+++ Overview.html	2 May 2012 20:06:40 -0000	1.265
@@ -693,14 +693,27 @@
    <code>InvalidAccessError</code> exception and abort these
    steps.</li>
 
-   <li><p>If the method's second argument has any isolated surrogates,
-   then throw a <code>SyntaxError</code> exception and abort these
-   steps. <a href="#refsUNICODE">[UNICODE]</a></li>
+   <li>
 
-   <li><p>If the method's second argument is present, then let <var title="">reason</var> be the result of encoding that argument as
-   UTF-8. If <var title="">reason</var> is longer than 123 bytes, then
-   throw a <code>SyntaxError</code> exception and abort these steps.
-   <a href="#refsRFC3629">[RFC3629]</a></li>
+    <p>If the method's second argument is present, then run these
+    substeps:</p>
+
+    <ol><li><p>Let <var title="">raw reason</var> be the method's second
+     argument.</li>
+
+     <li><p>Let <var title="">Unicode reason</var> be the result of
+     <span title="convert a DOMString to a sequence of Unicode
+     characters">converting <var title="">raw reason</var> to a
+     sequence of Unicode characters</span>.</li>
+
+     <li><p>Let <var title="">reason</var> be the result of encoding
+     <var title="">Unicode reason</var> as UTF-8.</li>
+
+     <li><p>If <var title="">reason</var> is longer than 123 bytes,
+     then throw a <code>SyntaxError</code> exception and abort these
+     steps. <a href="#refsRFC3629">[RFC3629]</a></li>
+
+    </ol></li>
 
    <li><p>Run the first matching steps from the following list:</p>
 
@@ -848,10 +861,10 @@
 
    <dd>
 
-    <p>If the <var title="">data</var> argument has any isolated
-    surrogates, then throw a <code>SyntaxError</code> exception. If
-    <i>the WebSocket connection is established</i>, and the string has
-    no isolated surrogates, and <i title="the WebSocket closing
+    <p>Let <var title="">data</var> be the result of <span title="convert a DOMString to a sequence of Unicode
+    characters">converting the <var title="">data</var> argument to a
+    sequence of Unicode characters</span>. If <i>the WebSocket
+    connection is established</i> and <i title="the WebSocket closing
     handshake is started">the WebSocket closing handshake has not yet
     started</i>, then the user agent must <i>send a WebSocket
     Message</i> comprised of <var title="">data</var> using a text
Received on Wednesday, 2 May 2012 20:06:45 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Wednesday, 2 May 2012 20:06:45 GMT