jsstr.cpp 内の Utf8ToOneUcs4Char における、冗長な UTF-8 シーケンスの検出処理の問題(bug 511859)

8月終わり頃から取り組んでいたバグの修正と仕様の変更がTrunkにチェックインされました。
実際には、

  1. JavaScriptのdecodeURI(),decodeURIComponent()が%エンコードされた冗長なUTF-8に対して U+FFFD を返すのではなくURIErrorを投げるようにする(bug514760)
  2. decodeURIのバックエンドで使用されている内部処理で、UTF-8 のバイト列からを1文字の UCS-4 を得る際に、4バイト以上の形式の冗長なUTF-8の判定条件が間違っている(bug511859)
  3. 同じ内部処理での5バイト以上のUTF-8のサポート廃止(bug518347)

の3つをまとめて修正しています。

2009/11/19追加

Firefox 3.6 Beta Revision 3 に投入されました。