Import Emoji Segmenter to Chromium

Emoji Segmenter [1] is a Google-released project, a Ragel-based grammar
for segmenting text into text-presentation runs and emoji presentation
runs. As such, it is an essential component of determining font fallback
preferences and display emoji characters correctly as text or color. It
implements the grammar rules in Unicode Technical Report 51.

In Chromium, we plan to use this Ragel based grammar to replace the
hand-coded emoji segmentation code in symbols_iterator.cc.

[1] https://github.com/googlei18n/emoji-segmenter

Bug: 892589
Change-Id: I604eccc06dd0313ce2050eaf7e263454efdfad89
Reviewed-on: https://chromium-review.googlesource.com/c/1442720
Reviewed-by: Christopher Thompson <[email protected]>
Reviewed-by: Jochen Eisinger <[email protected]>
Commit-Queue: Dominik Röttsches <[email protected]>
Cr-Commit-Position: refs/heads/master@{#627857}
diff --git a/DEPS b/DEPS
index 93fc9520..171948d 100644
--- a/DEPS
+++ b/DEPS
@@ -179,6 +179,10 @@
   # and whatever else without interference from each other.
   'harfbuzz_revision': 'fe532923101586e316b300d419a337d357cd93da',
   # Three lines of non-changing comments so that
+  # the commit queue can handle CLs rolling Emoji Segmenter
+  # and whatever else without interference from each other.
+  'emoji_segmenter_revision': '9ba6d25d0d9313569665d4a9d2b34f0f39f9a50e',
+  # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling catapult
   # and whatever else without interference from each other.
   'catapult_revision': '2061050c4d27b3b27bc3cfc7cf20fc99644f66f7',
@@ -770,6 +774,9 @@
   'src/third_party/harfbuzz-ng/src':
     Var('chromium_git') + '/external/github.com/harfbuzz/harfbuzz.git' + '@' + Var('harfbuzz_revision'),
 
+  'src/third_party/emoji-segmenter/src/':
+    Var('chromium_git') + '/external/github.com/googlei18n/emoji-segmenter.git' + '@' + Var('emoji_segmenter_revision'),
+
   # Chrome OS touchpad gestures library.
   'src/third_party/gestures/gestures': {
       'url': Var('chromium_git') + '/chromiumos/platform/gestures.git' + '@' + '74f55100df966280d305d5d5ada824605f875839',