- From: Ian Hickson via cvs-syncmail <cvsmail@w3.org>
- Date: Wed, 02 May 2012 20:06:42 +0000
- To: public-html-commits@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 UTC