Title: [273539] trunk
- Revision
- 273539
- Author
- [email protected]
- Date
- 2021-02-25 19:45:48 -0800 (Thu, 25 Feb 2021)
Log Message
Emoji sequences with constituents in the UBLOCK_SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A Unicode block don't get combined properly
https://bugs.webkit.org/show_bug.cgi?id=222438
<rdar://problem/74382039>
Reviewed by Zalan Bujtas.
Source/WebCore:
Just add UBLOCK_SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A to the list.
We have to do some workarounds because not all versions of ICU include this value.
Luckily, these workarounds are compile-time-only, because we we're only using this value
to compare to a value produced by ICU (not a value we pass into ICU).
Test: fast/text/mending-heart.html
* platform/text/CharacterProperties.h:
(WebCore::isEmojiGroupCandidate):
LayoutTests:
* fast/text/mending-heart-expected.txt: Added.
* fast/text/mending-heart.html: Added.
* platform/ios/TestExpectations:
* platform/mac/TestExpectations:
Modified Paths
Added Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (273538 => 273539)
--- trunk/LayoutTests/ChangeLog 2021-02-26 03:40:15 UTC (rev 273538)
+++ trunk/LayoutTests/ChangeLog 2021-02-26 03:45:48 UTC (rev 273539)
@@ -1,3 +1,16 @@
+2021-02-25 Myles C. Maxfield <[email protected]>
+
+ Emoji sequences with constituents in the UBLOCK_SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A Unicode block don't get combined properly
+ https://bugs.webkit.org/show_bug.cgi?id=222438
+ <rdar://problem/74382039>
+
+ Reviewed by Zalan Bujtas.
+
+ * fast/text/mending-heart-expected.txt: Added.
+ * fast/text/mending-heart.html: Added.
+ * platform/ios/TestExpectations:
+ * platform/mac/TestExpectations:
+
2021-02-25 Saam Barati <[email protected]>
Add some exception checks to the bindings generator
Added: trunk/LayoutTests/fast/text/mending-heart-expected.txt (0 => 273539)
--- trunk/LayoutTests/fast/text/mending-heart-expected.txt (rev 0)
+++ trunk/LayoutTests/fast/text/mending-heart-expected.txt 2021-02-26 03:45:48 UTC (rev 273539)
@@ -0,0 +1,5 @@
+PASS target.offsetWidth is <= 125
+PASS successfullyParsed is true
+
+TEST COMPLETE
+❤️🩹
Property changes on: trunk/LayoutTests/fast/text/mending-heart-expected.txt
___________________________________________________________________
Added: svn:eol-style
+native
\ No newline at end of property
Added: svn:keywords
+Author Date Id Rev URL
\ No newline at end of property
Added: trunk/LayoutTests/fast/text/mending-heart.html (0 => 273539)
--- trunk/LayoutTests/fast/text/mending-heart.html (rev 0)
+++ trunk/LayoutTests/fast/text/mending-heart.html 2021-02-26 03:45:48 UTC (rev 273539)
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<script src=""
+</head>
+<body>
+<span id="target" style="font-size: 100px;">❤️🩹</span>
+<script>
+var target = document.getElementById("target");
+shouldBeLessThanOrEqual("target.offsetWidth", "125");
+</script>
+</div>
+</body>
+</html>
Modified: trunk/LayoutTests/platform/ios/TestExpectations (273538 => 273539)
--- trunk/LayoutTests/platform/ios/TestExpectations 2021-02-26 03:40:15 UTC (rev 273538)
+++ trunk/LayoutTests/platform/ios/TestExpectations 2021-02-26 03:45:48 UTC (rev 273539)
@@ -3507,3 +3507,6 @@
webkit.org/b/221466 imported/w3c/web-platform-tests/uievents/keyboard/modifier-keys.html [ Skip ]
webkit.org/b/221465 imported/w3c/web-platform-tests/uievents/keyboard/modifier-keys-combinations.html [ Skip ]
+
+# Not all OSes support the same set of emoji.
+fast/text/mending-heart.html [ Failure ]
Modified: trunk/LayoutTests/platform/mac/TestExpectations (273538 => 273539)
--- trunk/LayoutTests/platform/mac/TestExpectations 2021-02-26 03:40:15 UTC (rev 273538)
+++ trunk/LayoutTests/platform/mac/TestExpectations 2021-02-26 03:45:48 UTC (rev 273539)
@@ -2293,4 +2293,7 @@
webkit.org/b/222195 inspector/animation/lifecycle-css-transition.html [ Pass Timeout ]
-webkit.org/b/222422 imported/w3c/web-platform-tests/media-source/mediasource-duration.html [ Pass Failure Slow ]
\ No newline at end of file
+webkit.org/b/222422 imported/w3c/web-platform-tests/media-source/mediasource-duration.html [ Pass Failure Slow ]
+
+# Not all OSes support the same set of emoji.
+[ Mojave Catalina ] fast/text/mending-heart.html [ Failure ]
Modified: trunk/Source/WebCore/ChangeLog (273538 => 273539)
--- trunk/Source/WebCore/ChangeLog 2021-02-26 03:40:15 UTC (rev 273538)
+++ trunk/Source/WebCore/ChangeLog 2021-02-26 03:45:48 UTC (rev 273539)
@@ -1,3 +1,22 @@
+2021-02-25 Myles C. Maxfield <[email protected]>
+
+ Emoji sequences with constituents in the UBLOCK_SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A Unicode block don't get combined properly
+ https://bugs.webkit.org/show_bug.cgi?id=222438
+ <rdar://problem/74382039>
+
+ Reviewed by Zalan Bujtas.
+
+ Just add UBLOCK_SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A to the list.
+
+ We have to do some workarounds because not all versions of ICU include this value.
+ Luckily, these workarounds are compile-time-only, because we we're only using this value
+ to compare to a value produced by ICU (not a value we pass into ICU).
+
+ Test: fast/text/mending-heart.html
+
+ * platform/text/CharacterProperties.h:
+ (WebCore::isEmojiGroupCandidate):
+
2021-02-25 Saam Barati <[email protected]>
Add some exception checks to the bindings generator
Modified: trunk/Source/WebCore/platform/text/CharacterProperties.h (273538 => 273539)
--- trunk/Source/WebCore/platform/text/CharacterProperties.h 2021-02-26 03:40:15 UTC (rev 273538)
+++ trunk/Source/WebCore/platform/text/CharacterProperties.h 2021-02-26 03:45:48 UTC (rev 273539)
@@ -31,7 +31,14 @@
static inline bool isEmojiGroupCandidate(UChar32 character)
{
- switch (ublock_getCode(character)) {
+#define SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A 298
+#if U_ICU_VERSION_MAJOR_NUM < 64
+#define UBLOCK_SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A
+#else
+static_assert(UBLOCK_SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A == SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A);
+#endif
+
+ switch (static_cast<int>(ublock_getCode(character))) {
case UBLOCK_MISCELLANEOUS_SYMBOLS:
case UBLOCK_DINGBATS:
case UBLOCK_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS:
@@ -38,6 +45,7 @@
case UBLOCK_EMOTICONS:
case UBLOCK_TRANSPORT_AND_MAP_SYMBOLS:
case UBLOCK_SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS:
+ case UBLOCK_SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A:
return true;
default:
return false;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes