Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: a52cdae2e3d927019a145947d31e1cc7433a9771
https://github.com/WebKit/WebKit/commit/a52cdae2e3d927019a145947d31e1cc7433a9771
Author: Alan Baradlay <[email protected]>
Date: 2024-11-29 (Fri, 29 Nov 2024)
Changed paths:
A
LayoutTests/fast/text/capitalize-content-with-outside-bmp-previous-characters-expected.html
A
LayoutTests/fast/text/capitalize-content-with-outside-bmp-previous-characters.html
M Source/WebCore/accessibility/AccessibilityObject.cpp
M Source/WebCore/editing/cocoa/HTMLConverter.mm
M Source/WebCore/rendering/RenderListBox.cpp
M Source/WebCore/rendering/RenderMenuList.cpp
M Source/WebCore/rendering/RenderText.cpp
M Source/WebCore/rendering/RenderText.h
M Source/WebCore/rendering/RenderTextFragment.cpp
M Source/WebCore/rendering/RenderTextFragment.h
Log Message:
-----------
[Text] Add support for skipping previous non-bmp content when capitalizing
https://bugs.webkit.org/show_bug.cgi?id=283814
<rdar://problem/140681383>
Reviewed by Antti Koivisto.
Previous content may be a grapheme cluster with series of code points.
e.g. 𐐸<span style="text-transform: capitalize">𐐮𐐭𐑋𐐰𐑌</span>
where the previous content is '𐐸'.
In such cases it's not sufficient to return a single code point (UChar) as
previous content.
It confuses the word boundary iterator and we end up titlecasing '𐐮'(we see it
as the first character)
(No need to rename RenderText::previousCharacter as character ofter refers to
user perceived character which may very well be a collection of multiple code
points)
*
LayoutTests/fast/text/capitalize-content-with-outside-bmp-previous-characters-expected.html:
Added.
*
LayoutTests/fast/text/capitalize-content-with-outside-bmp-previous-characters.html:
Added.
* Source/WebCore/accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::performTextOperation):
* Source/WebCore/editing/cocoa/HTMLConverter.mm:
(HTMLConverter::_processText):
* Source/WebCore/rendering/RenderListBox.cpp:
(WebCore::RenderListBox::updateFromElement):
(WebCore::RenderListBox::paintItemForeground):
* Source/WebCore/rendering/RenderMenuList.cpp:
(RenderMenuList::updateOptionsWidth):
(RenderMenuList::itemText const):
* Source/WebCore/rendering/RenderText.cpp:
(WebCore::capitalize):
(WebCore::RenderText::previousCharacter const):
(WebCore::applyTextTransform):
* Source/WebCore/rendering/RenderText.h:
* Source/WebCore/rendering/RenderTextFragment.cpp: This needs some work. I am
not even sure this is what we are supposed to do for previousCharacter().
(WebCore::RenderTextFragment::previousCharacter const):
* Source/WebCore/rendering/RenderTextFragment.h:
Canonical link: https://commits.webkit.org/287173@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes