Changeset 180087 in webkit
- Timestamp:
- Feb 13, 2015 3:44:02 PM (9 years ago)
- Location:
- trunk
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r180078 r180087 1 2015-02-12 Enrica Casucci <enrica@apple.com> 2 3 Additional emoji group support. 4 https://bugs.webkit.org/show_bug.cgi?id=141539 5 rdar://problem/19727527 6 7 Reviewed by Sam Weinig. 8 9 Updating test to reflect the new emoji ligatures supported. 10 11 * editing/deleting/delete-emoji-expected.txt: 12 * editing/deleting/delete-emoji.html: 13 1 14 2015-02-13 Brent Fulgham <bfulgham@apple.com> 2 15 -
trunk/LayoutTests/editing/deleting/delete-emoji-expected.txt
r179567 r180087 2 2 3 3 Dump of markup 1: 4 | "👦🏻👦🏾🏻👦🏾👦👩👩👦 <#selection-caret>4 | "👦🏻👦🏾🏻👦🏾👦👩👩👦👩❤️👩👨❤️👨👩❤️💋👩👨❤️💋👨<#selection-caret> 5 5 " 6 6 7 7 Dump of markup 2: 8 | "👦🏻👦🏾🏻👦🏾👦👩👩👦👩❤️👩👨❤️👨👩❤️💋👩<#selection-caret>" 9 10 Dump of markup 3: 11 | "👦🏻👦🏾🏻👦🏾👦👩👩👦👩❤️👩👨❤️👨<#selection-caret>" 12 13 Dump of markup 4: 14 | "👦🏻👦🏾🏻👦🏾👦👩👩👦👩❤️👩<#selection-caret>" 15 16 Dump of markup 5: 17 | "👦🏻👦🏾🏻👦🏾👦👩👩👦<#selection-caret>" 18 19 Dump of markup 6: 8 20 | "👦🏻👦🏾🏻👦🏾👦<#selection-caret>" 9 21 10 Dump of markup 3:22 Dump of markup 7: 11 23 | "👦🏻👦🏾🏻👦🏾<#selection-caret>" 12 24 13 Dump of markup 4:25 Dump of markup 8: 14 26 | "👦🏻👦🏾🏻<#selection-caret>" 15 27 16 Dump of markup 5:28 Dump of markup 9: 17 29 | "👦🏻👦🏾<#selection-caret>" -
trunk/LayoutTests/editing/deleting/delete-emoji.html
r179567 r180087 2 2 <html> 3 3 <body> 4 <div id="test" contenteditable="true">👦🏻👦🏾🏻👦🏾👦👩‍👩‍👦 4 <div id="test" contenteditable="true">👦🏻👦🏾🏻👦🏾👦👩‍👩‍👦👩‍❤️‍👩👨‍❤️‍👨👩‍❤️‍💋‍👩👨‍❤️‍💋‍👨 5 5 </div> 6 6 <script src="../../resources/dump-as-markup.js"></script> … … 10 10 var selection = window.getSelection(); 11 11 var testElement = document.getElementById('test'); 12 selection.setBaseAndExtent(testElement.firstChild, 20, testElement.firstChild, 20); 12 selection.setBaseAndExtent(testElement.firstChild, 56, testElement.firstChild, 56); 13 Markup.dump("test"); 14 document.execCommand("Delete"); 15 Markup.dump("test"); 16 document.execCommand("Delete"); 17 Markup.dump("test"); 18 document.execCommand("Delete"); 19 Markup.dump("test"); 20 document.execCommand("Delete"); 13 21 Markup.dump("test"); 14 22 document.execCommand("Delete"); -
trunk/Source/WebCore/ChangeLog
r180082 r180087 1 2015-02-12 Enrica Casucci <enrica@apple.com> 2 3 Additional emoji group support. 4 https://bugs.webkit.org/show_bug.cgi?id=141539 5 rdar://problem/19727527 6 7 Reviewed by Sam Weinig. 8 9 Adding some new emoji ligatures. 10 Updated existing test to include the new sequences. 11 12 * platform/text/TextBreakIterator.cpp: 13 (WebCore::cursorMovementIterator): 14 * rendering/RenderText.cpp: 15 (WebCore::isEmojiGroupCandidate): 16 1 17 2015-02-13 Alex Christensen <achristensen@webkit.org> 2 18 -
trunk/Source/WebCore/platform/text/TextBreakIterator.cpp
r179567 r180087 209 209 "$RI = [\\U0001F1E6-\\U0001F1FF];" // Emoji regional indicators 210 210 "$ZWJ = \\u200D;" // Zero width joiner 211 "$EmojiForModsAndSeqs = [\\U0001F466-\\U0001F469];" // Emoji that take Fitzpatrick modifiers AND participate in ZWJ sequences 212 "$EmojiForModsOnly = [\\u261D \\u270A-\\u270C \\U0001F385 \\U0001F3C3-\\U0001F3C4 \\U0001F3C7 \\U0001F3CA \\U0001F442-\\U0001F443 \\U0001F446-\\U0001F450 \\U0001F46E-\\U0001F478 \\U0001F47C \\U0001F481-\\U0001F483 \\U0001F485-\\U0001F487 \\U0001F4AA \\U0001F645-\\U0001F647 \\U0001F64B-\\U0001F64F \\U0001F6B4-\\U0001F6B6 \\U0001F6C0];" // Emoji that take Fitzpatrick modifiers 211 "$EmojiVar = [\\uFE0F];" // Emoji-style variation selector 212 "$EmojiForSeqs = [\\u2764 \\U0001F466-\\U0001F469 \\U0001F48B];" // Emoji that participate in ZWJ sequences 213 "$EmojiForMods = [\\u261D \\u270A-\\u270C \\U0001F385 \\U0001F3C3-\\U0001F3C4 \\U0001F3C7 \\U0001F3CA \\U0001F442-\\U0001F443 \\U0001F446-\\U0001F450 \\U0001F466-\\U0001F469 \\U0001F46E-\\U0001F478 \\U0001F47C \\U0001F481-\\U0001F483 \\U0001F485-\\U0001F487 \\U0001F4AA \\U0001F645-\\U0001F647 \\U0001F64B-\\U0001F64F \\U0001F6B4-\\U0001F6B6 \\U0001F6C0];" // Emoji that take Fitzpatrick modifiers 213 214 "$EmojiMods = [\\U0001F3FB-\\U0001F3FF];" // Fitzpatrick modifiers 214 215 "!!chain;" … … 230 231 "$Kan0 $KanV $Kan1;" // Kannada Virama (forward) 231 232 "$Mal0 $MalV $Mal1;" // Malayalam Virama (forward) 232 "$ZWJ $EmojiFor ModsAndSeqs;"// Don't break in emoji ZWJ sequences233 " [$EmojiForModsAndSeqs $EmojiForModsOnly] $EmojiMods;" // Don't break between relevant emojiand Fitzpatrick modifier233 "$ZWJ $EmojiForSeqs;" // Don't break in emoji ZWJ sequences 234 "$EmojiForMods $EmojiVar? $EmojiMods;" // Don't break between relevant emoji (possibly with variation selector) and Fitzpatrick modifier 234 235 "!!reverse;" 235 236 "$LF $CR;" … … 249 250 "$Kan1 $KanV $Kan0;" // Kannada Virama (backward) 250 251 "$Mal1 $MalV $Mal0;" // Malayalam Virama (backward) 251 "$EmojiForModsAndSeqs $ZWJ;" // Don't break in emoji ZWJ sequences 252 "$EmojiMods [$EmojiForModsAndSeqs $EmojiForModsOnly];" // Don't break between relevant emoji and Fitzpatrick modifier 252 "$EmojiForSeqs $ZWJ;" // Don't break in emoji ZWJ sequences 253 "$EmojiMods $EmojiVar? $EmojiForMods;" // Don't break between relevant emoji (possibly with variation selector) and Fitzpatrick modifier 254 "[$EmojiVar $EmojiMods]+ $EmojiForMods;" 255 "$EmojiForMods [$EmojiVar $EmojiMods]+;" 253 256 "!!safe_reverse;" 254 257 "!!safe_forward;"; … … 407 410 "$ZW = [:LineBreak = ZWSpace:];" 408 411 "$ZWJ = \\u200D;" 409 "$EmojiForModsAndSeqs = [\\U0001F466-\\U0001F469];" 410 "$EmojiForModsOnly = [\\u261D \\u270A-\\u270C \\U0001F385 \\U0001F3C3-\\U0001F3C4 \\U0001F3C7 \\U0001F3CA \\U0001F442-\\U0001F443 \\U0001F446-\\U0001F450 \\U0001F46E-\\U0001F478 \\U0001F47C \\U0001F481-\\U0001F483 \\U0001F485-\\U0001F487 \\U0001F4AA \\U0001F645-\\U0001F647 \\U0001F64B-\\U0001F64F \\U0001F6B4-\\U0001F6B6 \\U0001F6C0];" 412 "$EmojiVar = \\uFE0F;" 413 "$EmojiForSeqs = [\\u2764 \\U0001F466-\\U0001F469 \\U0001F48B];" 414 "$EmojiForMods = [\\u261D \\u270A-\\u270C \\U0001F385 \\U0001F3C3-\\U0001F3C4 \\U0001F3C7 \\U0001F3CA \\U0001F442-\\U0001F443 \\U0001F446-\\U0001F450 \\U0001F466-\\U0001F469 \\U0001F46E-\\U0001F478 \\U0001F47C \\U0001F481-\\U0001F483 \\U0001F485-\\U0001F487 \\U0001F4AA \\U0001F645-\\U0001F647 \\U0001F64B-\\U0001F64F \\U0001F6B4-\\U0001F6B6 \\U0001F6C0];" 411 415 "$EmojiMods = [\\U0001F3FB-\\U0001F3FF];" 412 416 "$dictionary = [:LineBreak = Complex_Context:];" … … 486 490 "$CAN_CM $CM* [$SP $ZW];" 487 491 "$CM+ [$SP $ZW];" 488 " [$EmojiForModsAndSeqs $EmojiMods] $ZWJ $EmojiForModsAndSeqs;"492 "$EmojiForSeqs $EmojiVar? $EmojiMods? $ZWJ $EmojiForSeqs;" 489 493 "$CAN_CM $CM+;" 490 494 "$CM+;" … … 554 558 "$CM+ $OPcm;" 555 559 "$CPcm ($ALcm | $HLcm | $NUcm);" 556 " [$EmojiForModsAndSeqs $EmojiForModsOnly]$EmojiMods;";560 "$EmojiForMods $EmojiVar? $EmojiMods;"; 557 561 558 562 static const char* uax14Reverse = … … 592 596 "[$SP $ZW] [$LB4NonBreaks-$CM];" 593 597 "[$SP $ZW] $CM+ $CAN_CM;" 594 "$EmojiFor ModsAndSeqs $ZWJ [$EmojiForModsAndSeqs $EmojiMods];"598 "$EmojiForSeqs $ZWJ $EmojiMods? $EmojiVar? $EmojiForSeqs;" 595 599 "$CM+ $CAN_CM;" 596 600 "$CM* $WJ $CM* $CAN_CM;" … … 650 654 "$CM* $OP $CM* ($ALPlus | $HL | $NU);" 651 655 "$CM* ($ALPlus | $HL | $NU) $CM* $CP;" 652 "$EmojiMods [$EmojiForModsAndSeqs $EmojiForModsOnly];";656 "$EmojiMods $EmojiVar? $EmojiForMods;"; 653 657 654 658 static const char* uax14SafeForward = -
trunk/Source/WebCore/rendering/RenderText.cpp
r179567 r180087 1441 1441 static inline bool isEmojiGroupCandidate(UChar32 character) 1442 1442 { 1443 return character >= 0x1F466 && character <= 0x1F469;1443 return (character >= 0x1F466 && character <= 0x1F469) || character == 0x2764 || character == 0x1F48B; 1444 1444 } 1445 1445
Note: See TracChangeset
for help on using the changeset viewer.