RESOLVED FIXED216058
Align UTF-16 decoder with Chrome, Firefox, and specification
https://bugs.webkit.org/show_bug.cgi?id=216058
Summary Align UTF-16 decoder with Chrome, Firefox, and specification
Alex Christensen
Reported 2020-09-01 16:32:52 PDT
Align UTF-16 decoder with Chrome, Firefox, and specification
Attachments
Patch (11.29 KB, patch)
2020-09-01 16:34 PDT, Alex Christensen
no flags
Patch (18.53 KB, patch)
2020-09-01 18:47 PDT, Alex Christensen
no flags
Patch (19.13 KB, patch)
2020-09-01 19:41 PDT, Alex Christensen
youennf: review+
Alex Christensen
Comment 1 2020-09-01 16:34:21 PDT
Alex Christensen
Comment 2 2020-09-01 18:47:04 PDT
Alex Christensen
Comment 3 2020-09-01 19:41:56 PDT
youenn fablet
Comment 4 2020-09-02 02:43:49 PDT
Comment on attachment 407733 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=407733&action=review > Source/WebCore/platform/text/TextCodecUTF16.cpp:65 > +String TextCodecUTF16::decode(const char* bytes, size_t length, bool flush, bool, bool& sawError) Can we reference https://encoding.spec.whatwg.org/#shared-utf-16-decoder
Alex Christensen
Comment 5 2020-09-02 07:45:48 PDT
Radar WebKit Bug Importer
Comment 6 2020-09-02 07:46:14 PDT
Darin Adler
Comment 7 2020-09-02 12:57:08 PDT
Comment on attachment 407733 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=407733&action=review > Source/WebCore/platform/text/TextCodecUTF16.cpp:78 > + if (codeUnit >= 0xDC00 && codeUnit <= 0xDFFF) { If I was writing this code I would use U16_IS_LEAD here. > Source/WebCore/platform/text/TextCodecUTF16.cpp:79 > + result.appendCharacter(0x10000 + ((leadSurrogate - 0xD800) << 10) + codeUnit - 0xDC00); U16_GET_SUPPLEMENTARY > Source/WebCore/platform/text/TextCodecUTF16.cpp:87 > + if (codeUnit >= 0xD800 && codeUnit <= 0xDBFF) { U16_IS_LEAD > Source/WebCore/platform/text/TextCodecUTF16.cpp:91 > + if (codeUnit >= 0xDC00 && codeUnit <=0xDFFF) { U16_IS_TRAIL
Alex Christensen
Comment 8 2020-09-02 14:19:13 PDT
Note You need to log in before you can comment on or make changes to this bug.