Bug 159755 - Support new emoji group candidates
Summary: Support new emoji group candidates
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Myles C. Maxfield
URL:
Keywords: InRadar
Depends on: 159821 159842
Blocks:
  Show dependency treegraph
 
Reported: 2016-07-13 22:11 PDT by Myles C. Maxfield
Modified: 2016-07-17 09:46 PDT (History)
9 users (show)

See Also:


Attachments
WIP (3.40 KB, patch)
2016-07-13 22:12 PDT, Myles C. Maxfield
no flags Details | Formatted Diff | Diff
Patch (48.06 KB, patch)
2016-07-14 16:28 PDT, Myles C. Maxfield
no flags Details | Formatted Diff | Diff
Patch (49.70 KB, patch)
2016-07-14 16:33 PDT, Myles C. Maxfield
no flags Details | Formatted Diff | Diff
Archive of layout-test-results from ews121 for ios-simulator-wk2 (8.74 MB, application/zip)
2016-07-14 17:16 PDT, Build Bot
no flags Details
Archive of layout-test-results from ews101 for mac-yosemite (2.85 MB, application/zip)
2016-07-14 17:20 PDT, Build Bot
no flags Details
Archive of layout-test-results from ews107 for mac-yosemite-wk2 (2.84 MB, application/zip)
2016-07-14 17:24 PDT, Build Bot
no flags Details
Archive of layout-test-results from ews112 for mac-yosemite (3.51 MB, application/zip)
2016-07-14 17:35 PDT, Build Bot
no flags Details
Patch (230.42 KB, patch)
2016-07-14 19:15 PDT, Myles C. Maxfield
commit-queue: commit-queue-
Details | Formatted Diff | Diff
Patch for committing (162.45 KB, patch)
2016-07-15 20:02 PDT, Myles C. Maxfield
buildbot: commit-queue-
Details | Formatted Diff | Diff
Archive of layout-test-results from ews102 for mac-yosemite (942.96 KB, application/zip)
2016-07-15 20:51 PDT, Build Bot
no flags Details
Archive of layout-test-results from ews107 for mac-yosemite-wk2 (934.86 KB, application/zip)
2016-07-15 20:56 PDT, Build Bot
no flags Details
Archive of layout-test-results from ews121 for ios-simulator-wk2 (655.22 KB, application/zip)
2016-07-15 21:02 PDT, Build Bot
no flags Details
Archive of layout-test-results from ews114 for mac-yosemite (1.44 MB, application/zip)
2016-07-15 21:02 PDT, Build Bot
no flags Details
Path for committing (241.86 KB, patch)
2016-07-16 22:45 PDT, Myles C. Maxfield
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Myles C. Maxfield 2016-07-13 22:11:12 PDT
Support additional emoji group candidates
Comment 1 Myles C. Maxfield 2016-07-13 22:12:19 PDT
Created attachment 283598 [details]
WIP
Comment 2 Myles C. Maxfield 2016-07-13 22:16:01 PDT
Tests (specified emoji font / specified other font (like Times))

1. 1F3CC ZWJ 2640
2. 1F3CC FE0F ZWJ 2640
3. 1F3CC ZWJ 2640 FE0F
4. 1F3CC FE0F ZWJ 2640 FE0F

1F46E ZWJ 2640

Backspace
Caret & arrow keys
Number of glyphs
Line break doesn't occur in the middle
Comment 3 Myles C. Maxfield 2016-07-14 16:28:48 PDT
Created attachment 283703 [details]
Patch
Comment 4 Myles C. Maxfield 2016-07-14 16:29:29 PDT
<rdar://problem/27325521>
Comment 5 Myles C. Maxfield 2016-07-14 16:33:41 PDT
Created attachment 283705 [details]
Patch
Comment 6 Build Bot 2016-07-14 17:16:50 PDT
Comment on attachment 283705 [details]
Patch

Attachment 283705 [details] did not pass ios-sim-ews (ios-simulator-wk2):
Output: http://webkit-queues.webkit.org/results/1682632

New failing tests:
fast/text/emoji-gender-4.html
fast/text/emoji-gender-3.html
Comment 7 Build Bot 2016-07-14 17:16:54 PDT
Created attachment 283710 [details]
Archive of layout-test-results from ews121 for ios-simulator-wk2

The attached test failures were seen while running run-webkit-tests on the ios-sim-ews.
Bot: ews121  Port: ios-simulator-wk2  Platform: Mac OS X 10.11.5
Comment 8 Build Bot 2016-07-14 17:20:27 PDT
Comment on attachment 283705 [details]
Patch

Attachment 283705 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.webkit.org/results/1682666

New failing tests:
fast/text/emoji-gender-4.html
fast/text/emoji-gender-3.html
Comment 9 Build Bot 2016-07-14 17:20:31 PDT
Created attachment 283711 [details]
Archive of layout-test-results from ews101 for mac-yosemite

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews101  Port: mac-yosemite  Platform: Mac OS X 10.10.5
Comment 10 Build Bot 2016-07-14 17:23:56 PDT
Comment on attachment 283705 [details]
Patch

Attachment 283705 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.webkit.org/results/1682669

New failing tests:
fast/text/emoji-gender-4.html
fast/text/emoji-gender-3.html
Comment 11 Build Bot 2016-07-14 17:24:00 PDT
Created attachment 283712 [details]
Archive of layout-test-results from ews107 for mac-yosemite-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews107  Port: mac-yosemite-wk2  Platform: Mac OS X 10.10.5
Comment 12 Build Bot 2016-07-14 17:35:25 PDT
Comment on attachment 283705 [details]
Patch

Attachment 283705 [details] did not pass mac-debug-ews (mac):
Output: http://webkit-queues.webkit.org/results/1682677

New failing tests:
fast/text/emoji-gender-4.html
fast/text/emoji-gender-3.html
Comment 13 Build Bot 2016-07-14 17:35:29 PDT
Created attachment 283717 [details]
Archive of layout-test-results from ews112 for mac-yosemite

The attached test failures were seen while running run-webkit-tests on the mac-debug-ews.
Bot: ews112  Port: mac-yosemite  Platform: Mac OS X 10.10.5
Comment 14 Myles C. Maxfield 2016-07-14 19:15:37 PDT
Created attachment 283732 [details]
Patch
Comment 15 WebKit Commit Bot 2016-07-14 20:12:05 PDT
Comment on attachment 283732 [details]
Patch

Clearing flags on attachment: 283732

Committed r203266: <http://trac.webkit.org/changeset/203266>
Comment 16 WebKit Commit Bot 2016-07-14 20:12:11 PDT
All reviewed patches have been landed.  Closing bug.
Comment 17 WebKit Commit Bot 2016-07-15 11:22:57 PDT
Re-opened since this is blocked by bug 159821
Comment 18 Ryan Haddad 2016-07-15 11:34:27 PDT
Reverted r203266 for reason:

This change caused editing/deleting/delete-emoji.html to time out on El Capitan, crash under GuardMalloc

Committed r203287: <http://trac.webkit.org/changeset/203287>
Comment 19 Ryan Haddad 2016-07-15 11:42:47 PDT
(In reply to comment #18)
> Reverted r203266 for reason:
> 
> This change caused editing/deleting/delete-emoji.html to time out on El
> Capitan, crash under GuardMalloc
> 
> Committed r203287: <http://trac.webkit.org/changeset/203287>

Link to test timeout:
https://build.webkit.org/results/Apple%20El%20Capitan%20Release%20WK2%20(Tests)/r203284%20(7687)/results.html

See <rdar://problem/27374787> for GuardMalloc crashlog
Comment 20 Jon Lee 2016-07-15 12:18:14 PDT
Comment on attachment 283732 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=283732&action=review

> Source/WebCore/platform/text/CharacterProperties.h:41
> +        || character >= 0x1F46E

This line looks incorrect since it makes the rest of this conditional unnecessary.
Comment 21 WebKit Commit Bot 2016-07-15 18:03:53 PDT
Comment on attachment 283732 [details]
Patch

Rejecting attachment 283732 [details] from commit-queue.

Failed to run "['/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch', '--status-host=webkit-queues.webkit.org', '--bot-id=webkit-cq-01', 'apply-attachment', '--no-update', '--non-interactive', 283732, '--port=mac']" exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
.txt
patching file LayoutTests/fast/text/emoji-num-glyphs.html
patching file LayoutTests/fast/text/emoji-single-parent-family-2-expected-mismatch.html
patching file LayoutTests/fast/text/emoji-single-parent-family-2.html
patching file LayoutTests/fast/text/emoji-single-parent-family-expected-mismatch.html
patching file LayoutTests/fast/text/emoji-single-parent-family.html

Failed to run "[u'/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply', '--force']" exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Full output: http://webkit-queues.webkit.org/results/1688570
Comment 22 Myles C. Maxfield 2016-07-15 20:02:38 PDT
Created attachment 283834 [details]
Patch for committing
Comment 23 Build Bot 2016-07-15 20:51:10 PDT
Comment on attachment 283834 [details]
Patch for committing

Attachment 283834 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.webkit.org/results/1689089

New failing tests:
editing/deleting/delete-emoji.html
Comment 24 Build Bot 2016-07-15 20:51:15 PDT
Created attachment 283838 [details]
Archive of layout-test-results from ews102 for mac-yosemite

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews102  Port: mac-yosemite  Platform: Mac OS X 10.10.5
Comment 25 Build Bot 2016-07-15 20:56:08 PDT
Comment on attachment 283834 [details]
Patch for committing

Attachment 283834 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.webkit.org/results/1689095

New failing tests:
editing/deleting/delete-emoji.html
Comment 26 Build Bot 2016-07-15 20:56:13 PDT
Created attachment 283839 [details]
Archive of layout-test-results from ews107 for mac-yosemite-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews107  Port: mac-yosemite-wk2  Platform: Mac OS X 10.10.5
Comment 27 Build Bot 2016-07-15 21:01:58 PDT
Comment on attachment 283834 [details]
Patch for committing

Attachment 283834 [details] did not pass ios-sim-ews (ios-simulator-wk2):
Output: http://webkit-queues.webkit.org/results/1689093

New failing tests:
editing/deleting/delete-emoji.html
Comment 28 Build Bot 2016-07-15 21:02:03 PDT
Created attachment 283840 [details]
Archive of layout-test-results from ews121 for ios-simulator-wk2

The attached test failures were seen while running run-webkit-tests on the ios-sim-ews.
Bot: ews121  Port: ios-simulator-wk2  Platform: Mac OS X 10.11.5
Comment 29 Build Bot 2016-07-15 21:02:07 PDT
Comment on attachment 283834 [details]
Patch for committing

Attachment 283834 [details] did not pass mac-debug-ews (mac):
Output: http://webkit-queues.webkit.org/results/1689092

New failing tests:
editing/deleting/delete-emoji.html
Comment 30 Build Bot 2016-07-15 21:02:12 PDT
Created attachment 283841 [details]
Archive of layout-test-results from ews114 for mac-yosemite

The attached test failures were seen while running run-webkit-tests on the mac-debug-ews.
Bot: ews114  Port: mac-yosemite  Platform: Mac OS X 10.10.5
Comment 31 Myles C. Maxfield 2016-07-16 22:45:56 PDT
Created attachment 283862 [details]
Path for committing
Comment 32 WebKit Commit Bot 2016-07-17 00:16:57 PDT
Comment on attachment 283862 [details]
Path for committing

Clearing flags on attachment: 283862

Committed r203330: <http://trac.webkit.org/changeset/203330>
Comment 33 WebKit Commit Bot 2016-07-17 00:17:06 PDT
All reviewed patches have been landed.  Closing bug.
Comment 34 Darin Adler 2016-07-17 09:45:30 PDT
Comment on attachment 283862 [details]
Path for committing

View in context: https://bugs.webkit.org/attachment.cgi?id=283862&action=review

> Source/WebCore/platform/graphics/mac/ComplexTextControllerCoreText.mm:156
> -        if (U_IS_SURROGATE(m_characters[r])) {
> -            ASSERT(r + 1 < m_stringLength);
> -            ASSERT(U_IS_SURROGATE_LEAD(m_characters[r]));
> -            ASSERT(U_IS_TRAIL(m_characters[r + 1]));
> +        if (U_IS_LEAD(m_characters[r]) && r + 1 < m_stringLength && U_IS_TRAIL(m_characters[r + 1]))
>              r += 2;
> -        } else
> +        else
>              r++;

Technically this should be using U16_IS_LEAD and U16_IS_TRAIL since the arguments are UChar, not UChar32.

But, even better, ICU's utf16.h header has a macro for exactly this purpose, called U16_FWD_1 and so this should just be replaced by this single line of code:

    U16_FWD_1(m_characters, r, m_stringLength);