Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 85696a6b3a7ba449d1da02ac2f275a3f31582d0e https://github.com/WebKit/WebKit/commit/85696a6b3a7ba449d1da02ac2f275a3f31582d0e Author: Fujii Hironori <hironori.fu...@sony.com> Date: 2024-03-28 (Thu, 28 Mar 2024)
Changed paths: A LayoutTests/fast/text/unpaired-surrogate-complex-expected.txt A LayoutTests/fast/text/unpaired-surrogate-complex.html R LayoutTests/fast/text/unpaired-surrogate-expected-mismatch.html A LayoutTests/fast/text/unpaired-surrogate-expected.txt M LayoutTests/fast/text/unpaired-surrogate.html M LayoutTests/platform/wincairo/TestExpectations M Source/WebCore/platform/graphics/ComplexTextController.cpp M Source/WebCore/platform/graphics/ComplexTextController.h Log Message: ----------- ComplexTextController: Handle unpaired surrogates https://bugs.webkit.org/show_bug.cgi?id=271691 Reviewed by Vitor Roriz. Unpaired surrogates displayed nothing in the complex text code path. https://commits.webkit.org/241073@main made the simple text code path handle unpaired surrogates to display white squares. Chrome and Firefox display a question mark or a hex code glyph for it. 241073@main added a test case fast/text/unpaired-surrogate.html. Cocoa ports takes the simple text code path for it, but GTK and Windows ports take the complex text code path. The test case is a mismatch test case, but falsely passed for GTK and Windows ports. They rendered nothing for the test, and unexpectedly passed the test. If I add text-rendering:optimizeSpeed to the test, GTK and Windows ports also take the simple text code path and display a white square glyph for the unpaired surrogate. If I use a Devanagari letter in the test, Cocoa port also takes the complex text code path and exhibits the same problem. ComplexTextController just ignored unpaired surrogates. It shouldn't ignore. Converted the mismatch test case to a JS test. And, added text-rendering:optimizeSpeed to take the simple text code path. Added a new test case with a complex text to test the complex text code path. * LayoutTests/fast/text/unpaired-surrogate-complex-expected.txt: Added. * LayoutTests/fast/text/unpaired-surrogate-complex.html: Added. * LayoutTests/fast/text/unpaired-surrogate-expected-mismatch.html: Removed. * LayoutTests/fast/text/unpaired-surrogate-expected.txt: Added. * LayoutTests/fast/text/unpaired-surrogate.html: * LayoutTests/platform/wincairo/TestExpectations: * Source/WebCore/platform/graphics/ComplexTextController.cpp: (WebCore::ComplexTextController::advanceByCombiningCharacterSequence): (WebCore::ComplexTextController::collectComplexTextRuns): * Source/WebCore/platform/graphics/ComplexTextController.h: Canonical link: https://commits.webkit.org/276797@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes