--- chromium-62.0.3192.0/third_party/blink/renderer/platform/graphics/logging_canvas.cc.icu59 2017-08-22 21:05:00.000000000 +0200 +++ chromium-62.0.3192.0/third_party/blink/renderer/platform/graphics/logging_canvas.cc 2017-08-31 17:49:42.668922922 +0200 @@ -513,24 +513,6 @@ return flags_string; } -String StringForUTF32LEText(const void* text, size_t byte_length) { - icu::UnicodeString utf16; -#if defined(ARCH_CPU_BIG_ENDIAN) - // Swap LE to BE - size_t char_length = length / sizeof(UChar32); - WTF::Vector<UChar32> utf32be(char_length); - for (size_t i = 0; i < char_length; ++i) - utf32be[i] = WTF::Bswap32(static_cast<UChar32*>(text)[i]); - utf16 = icu::UnicodeString::fromUTF32(utf32be.data(), - static_cast<int32_t>(byte_length)); -#else - utf16 = icu::UnicodeString::fromUTF32(reinterpret_cast<const UChar32*>(text), - static_cast<int32_t>(byte_length)); -#endif - return String(icu::toUCharPtr(utf16.getBuffer()), - static_cast<unsigned>(utf16.length())); -} - String StringForText(const void* text, size_t byte_length, const SkPaint& paint) { @@ -543,13 +525,15 @@ return WTF::TextEncoding("UTF-16LE") .Decode(reinterpret_cast<const char*>(text), byte_length); case SkPaint::kUTF32_TextEncoding: - return StringForUTF32LEText(text, byte_length); + return WTF::TextEncoding("UTF-32LE") + .Decode(reinterpret_cast<const char*>(text), byte_length); case SkPaint::kGlyphID_TextEncoding: { WTF::Vector<SkUnichar> data_vector(byte_length / 2); SkUnichar* text_data = data_vector.data(); paint.glyphsToUnichars(static_cast<const uint16_t*>(text), byte_length / 2, text_data); - return StringForUTF32LEText(text, byte_length); + return WTF::TextEncoding("UTF-32LE") + .Decode(reinterpret_cast<const char*>(text), byte_length); } default: NOTREACHED();