Title: [231361] trunk
Revision
231361
Author
[email protected]
Date
2018-05-04 10:38:54 -0700 (Fri, 04 May 2018)

Log Message

Text shaping in the simple path is flipped in the y direction
https://bugs.webkit.org/show_bug.cgi?id=185062
<rdar://problem/39778678>

Reviewed by Simon Fraser.

Source/WebCore:

Shaping in our simple codepath occurs in an "increasing-y-goes-up" coordinate system, but our painting
code uses an "increasing-y-goes-down" coordinate system. We weren't fixing up the coordinate systems
because we never noticed. This is because the simple codepath is only designed for kerning and ligatures,
neither of which move glyphs vertically in the common case.

Test: fast/text/vertical-displacement-simple-codepath.html

* platform/graphics/Font.cpp:
(WebCore::Font::applyTransforms const):
* platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::applyFontTransforms):

Tools:

Huge thanks to Ulrike Rausch of LiebeFonts for contributing the test fonts!!!

* Scripts/webkitpy/common/config/contributors.json:

LayoutTests:

This test renders a font which uses our fast text codepath but also includes vertical
displacements inside its liga feature. The test makes sure that the vertical displacement
occurs in the correct direction.

The test fonts were created by Ulrike Rausch of LiebeFonts specifically for the purpose
of testing. Huge thanks to her!! Figuring out this bug would not have been possible if
not for her huge help!

* fast/text/resources/LiebeTest-calt.woff: Added.
* fast/text/resources/LiebeTest-dlig.woff: Added.
* fast/text/resources/LiebeTest-liga.woff: Added.
* fast/text/resources/LiebeTest-swsh.woff: Added.
* fast/text/vertical-displacement-simple-codepath-expected.html: Added.
* fast/text/vertical-displacement-simple-codepath.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (231360 => 231361)


--- trunk/LayoutTests/ChangeLog	2018-05-04 17:36:34 UTC (rev 231360)
+++ trunk/LayoutTests/ChangeLog	2018-05-04 17:38:54 UTC (rev 231361)
@@ -1,3 +1,26 @@
+2018-05-04  Myles C. Maxfield  <[email protected]>
+
+        Text shaping in the simple path is flipped in the y direction
+        https://bugs.webkit.org/show_bug.cgi?id=185062
+        <rdar://problem/39778678>
+
+        Reviewed by Simon Fraser.
+
+        This test renders a font which uses our fast text codepath but also includes vertical
+        displacements inside its liga feature. The test makes sure that the vertical displacement
+        occurs in the correct direction.
+
+        The test fonts were created by Ulrike Rausch of LiebeFonts specifically for the purpose
+        of testing. Huge thanks to her!! Figuring out this bug would not have been possible if
+        not for her huge help!
+
+        * fast/text/resources/LiebeTest-calt.woff: Added.
+        * fast/text/resources/LiebeTest-dlig.woff: Added.
+        * fast/text/resources/LiebeTest-liga.woff: Added.
+        * fast/text/resources/LiebeTest-swsh.woff: Added.
+        * fast/text/vertical-displacement-simple-codepath-expected.html: Added.
+        * fast/text/vertical-displacement-simple-codepath.html: Added.
+
 2018-05-04  Chris Nardi  <[email protected]>
 
         Serialize all URLs with double-quotes per CSSOM spec

Added: trunk/LayoutTests/fast/text/resources/LiebeTest-calt.woff (0 => 231361)


--- trunk/LayoutTests/fast/text/resources/LiebeTest-calt.woff	                        (rev 0)
+++ trunk/LayoutTests/fast/text/resources/LiebeTest-calt.woff	2018-05-04 17:38:54 UTC (rev 231361)
@@ -0,0 +1,19 @@
+wOFFOTTO��������������\x84������������������������������������������������CFF ����|����5����\x9B\xAE)[GPOS����\xB4������G������d\x89\xBB\x89GSUB����\xFC������
+������
+������OS/2����\x84������J������`hg\xACcmap���� ������H������Z\xAD\xCDhead����������0������6\xF5��\xB9hhea����d������������$\xA9hhmtx����@������"������\xC4DT��\xE3maxp������������������CP��name����\xD0����P����\xB5&\xF6\xF8post����h������������ \xFF\xB8��2����P����C����xc`d`��a\xB5\x93\xF6a\xF1\xFC6_\x98\x99_0��\xC1u\xFE\xB8\x9DpZ\xF5\xBF\xE3,f} \x97\x99\x81	$
+��&\xAA
+<xc\xFC\xC2\xCB\xC1\xC0@\xCC\xC8Ǡ\xCA(\xC0`\xCE\xF0\x8BAȧ����\xA7Yq����xc`d``~\xF1߂\x81\x81\xF1\x83*\x83\xE3,\xA0*\x90��j8��xc`frg\x9C\xC0\xC0\xCA\xC0\xC1\xD4\xC5\xC1\xC0\xC0\xE0+\xA1\xE3\x8Cu\x80|\xA002 \x81P\xEFp?\x86*f\x85\xFF'\x98_0\x9C\x80\xA9a\xFC´H)00��\xDE%\x8F����xLʵa\x82a��\x84\xE1\x{1D3E3B}v)\xE3\xD2%AF\xA0\xC4\xDBlt\xBC\xC6:\xF6a\x88\\xA4{N\x80s\xC2����/ \xD6x\x91-\x9Ew\xD9qFT\xF6l\x93\x90\x97x#\x90\x97٦#\xAF\xB2\xCEP^\xFB\xE7ubL\xE5+\x8E͖\xBC\xF9e\x87\xF1k@`\xAEdå\xA9ȖmӗOf"\xFB\x9F%\xF2f&/si\xB3\xF2*\x87\xB6$\xAF\xFD\xF3:-ې7\xB8q\x8F\xF2\xE6?\xEF\xB2\xEF\xD2\xF2\xABn\xD1ud\xB7\xAE\xC3P\x8C\xB3
+xQK\xDC'\xAF\xF7\xF6\xFF\xB3\xE3\xB1
+e\xF1\x98uH\xBA-)\xBB|\xD7H\xAF\x87\xED\x9D\xF6\xBD\xEDN/\x9B\xC0\x97\x9C%鈋\xFFЪP\x9Fl|\xC4o\x8Da\xE1=;\xE5\x95۪*~\xA6|(s\xD2(I\x92\xE9\xFC\xFB\xE2\xD7\xF4Vz$n%>J\xCAym[\xBE2\xFF\xF3\x97\x93\xE4
+66\x94\xB6\xDD\x89h4\x9A\xAE󕲡\x8E\x8C.\xB2\xA8+·\xC3\xFE3q\xA5\xBAY\xA3=\xD7@,\xAF\xE3��\xDD.\xB9۸\xCEzŶ5\x87\x88\xFF\x95C\xA8,\xB76\xB0or\xC6q\xA5}p\xBA\xD8\xD5;\x995y\xBB\xF2\xBD&\x84n\xC7昡\x96\xFEK\xBB\x8E\xE9=Y\xEA\xE8@\x8E4-\xA9\xA1@L\x978%\x94\xD2\xA8��\xCB\xF4\xBCV\xF4	-\xEC<Eп%\x83\xC5\xF7\xFC\xBDH
+\xAF»\xC5]Qt\xCFv\xE4$OI9\xA0\xFFI\xC1w\x9C\xC3#\x85u"kJs\xFAN\xFA\xF4\xD4\xFF\xF4\xD6\xFFB2y\xD2R?\x88\xF0\x87\xFE\xBE\xAFm\xC8¯\xFB\xED\xADGD#\xAC)\xADwEJljh+id΀\xFA8:\xA7!V\xFF\xB5\x9A\x9E\x9D\xD7y\xB5̧\xBE\xD6\xF1=\xD9\xE1+\xD7q4\xD8%\xE4\x8E6\xE4p[\x99&\x8B\x97\xA1\x83L\xFE\x90\xA2\xFC\x9A\xA9\xC01X+Q=5`ܵ\x8F^Kd'\xBDl$S\x8FN\xA4\xA6~+\xB0=\xE0\x80\xD5фb,s\xDBC}\xEF\xCFK\xE05ا\xDD_\xF7\xFEO!ܦx\xC7%\x83����@\xD17׸>\xA9\xD3J\xC1\xE14\xAE\xC1\xD1H\x9C[\xF9\x82%V\xB8XY\xFC\xBDV\xE2loi\xED\xE6#Pi\x867/?\x89z\xBA6C7\xB48\x88%\xA2\x83uxc`f��\x83\xFF[\x8C\xB0����,\xC2\xEA��x<\x8DR\x85q��\xC4\xF7\xBF\xD9d\xDB\xD50\xDBƳ\xBFg\xE3*\xDD!\xDB\xC6Y:@6\xC7˟@8!\x84H\x90\xF4\xFD\x84\xDE\xE3\xADѪ\xAD\xDE/+\xEF!	Y\xE2!\x9B\xE9\xE1+ϲ\x87\xDA\xC7ˈ\xFB\xEC\xA4\x{3E94167}\xFCTP\x88\xE6\xEEv\x873䖌&o\xBE\xAC\+\xAB\xC8o\xACoh\xCAׄ\xF2\xBF\xEF\xBAv\xAF\xA76\xBF\xD5j\xCD\xFF\xEEx\xF2\xDDz\x8F\xDE\xED\xD7\xEBj\xFFq\xF9\xDF8f\xA0-
 )1H
 \xD0N,a+X\xC5ֱ\x81Mla;\xD8\xC5\xF6q\x80C\xE1'8\xC5\xCEq\x81K\\xE17b^ܲ\x8D\xED\xEC`'\xBB\xD8\xCD\xF6\xB2\x8F\xFD\xE0 \x878\xCC\x8Er\x8C\xE3\x9C\xE0$\xA78\xCD\xCEr\x8E\xF3\x94QN\x95TQM+\xB5\xD4QO\x8D\xF7Eϲ\x8FF\x881\xBA\x8E.n\xCC\xED\xCDi\xF6\x9D\xEE\xD6\xC1\xDF\xDA\xFE\xAA\xAF\xB6\xAD\xD8Ƴ[y8\xBD[۶\xDDߵ\xDDy魢\x9F\xD5\xD83g\xAE\xE1\xD8\xD4\xCAg\xB1\xF9\xA4\x917\xE1m\xD8\xCAo\xE5\x9B[\xF5ק\xB71\xE61\xBE\xE7\xDE\xFA\xA3]\x88\\xFF\x9Eש\x91_\x86\xA0\x98\xC9\xEB/ǐ\xA1\xF8\xF2\xB6)\xD8\xEB5Ah\xC2\xE5Md\xE8\xAF˛P\xCCL\xBD\x99\xDEZ1!\xA25={\xC1\xD0(\x82\xE5!\xFC\xB2&\x81\x88x\x92\xA1\xE0\x89\x87\xBD9\x93\xB6\xE9\xA4\xD72\xA63\xE4\xE11(b\xE9
+\xCFA1\xB1^\x96z\xBEk\xDBA]?\xE09S\x81\xBF\x87\xFE\x92&\xB8\xDF#\x9AB\xB755Կm\xA0]\xE8\xAF\xD0ӹmH\x88_\x97\xAD\xCF)/\xD6s\xA5\x8A\xA2\xC6\xD1\xD0h\xDDW\xBD\x98\xB1\xBA\x91V(\xA0?F\xC6G\x91\xB0\xA9U\xA3\xB7\xEF\xDA
+>\x8F6s\xEA\xF9\x9A\x89s\x98\xAD\xB0\xACD_R\xC3V\xDF9~\xD1p\xFA\xD3:2 \xE3\xF4\xF6\x89E\x89\x9A\x8D\xF2\x96\xFE\x98\xAFKY\x85'Ͼ\xAD\x97G\xFD\xB5\xB2B\xA5\xAA\xE2ʚ\x9CE\xC6\xD0\x8D\x85\xF5\xD0\xC3\xD8zн\x9B-'\x91X\xA5\x94\x88\xA4:\x894_\x9B\x97\xC7LS|+S\xA7\xB2\xF4S\xF5F\xD5\xF0\xE9\xCCjm\x8CA\xC1JK\xEA\x94+\xF05\x82Iυ\xB1\x94\xA3\xEF\xCD[OzO\xCD\xE5\xB4۴\xBBwAWDd\xAAյ"Uk/\xB8\x91}\xC8^A\xFA\x8E L\x89\xEE+juBn\xAF\xD7-\xDDC\xCFnם\x87\xCC\x82\xC0\xEEb\x93s\x8B\xD1u\xB7\x90\xD1\xA2\x9C7Ј2\x86D\x90\x9E\xCD$\xE0\xFA1\xF3\xA9S6UM\x81X%\x95rB\x83<\x8BY\x9D\xBDb\xD3\xFCT\xA0 ��\xBA5\xC3\xD03[J\x97&\xB0\xD9J\xA9\x9C\x91\xE9\xE4%\xE5E\x96\xC6]y\xC7\xB3\x81\xFFlӠ\xFE>?\xE7\xCB.Ђ~-\xF3pA������xc`d``\xE0b0`\xF0b`rq\xF3	a\xE0\xCBI,\xC9c\x90b`a��\x82\xFF\xFFA\xF262%'\xE6\x940\xF0\x81I\xA00PD\x821\x94\xE6��c&\x86i`\xD2��\xCAN\xCB������������������������
\ No newline at end of file

Added: trunk/LayoutTests/fast/text/resources/LiebeTest-dlig.woff (0 => 231361)


--- trunk/LayoutTests/fast/text/resources/LiebeTest-dlig.woff	                        (rev 0)
+++ trunk/LayoutTests/fast/text/resources/LiebeTest-dlig.woff	2018-05-04 17:38:54 UTC (rev 231361)
@@ -0,0 +1,15 @@
+wOFFOTTO��������������\x84������������������������������������������������CFF ����|����5����\x9B\xB6gGPOS����\xB4������G������d\x87\xB9\x87GSUB����\xFC������
+������
+������OS/2����\x84������J������`hg\xACcmap���� ������H������Z\xAD\xCDhead����������0������6\xF5!hhea����d������������$\xA9hhmtx����@������"������\xC4DT��\xE3maxp������������������CP��name����\xD0����P����\xB5 ,\xDC\xEApost����h������������ \xFF\xB8��2����P����C����xc`d`��a\xB1\x87}}\xF1\xFC6_\x98\x99_0��\xC1u\xFE\xB8\xB7pZ\xF5\xBF\xE3,f} \x97\x99\x81	$
+��HV3xc\xFC\xC2\xCB\xC1\xC0@\xCC\xC8Ǡ\xCA(\xC0`\xCE\xF0\x8BAȧ����\xA7Yq����xc`d``~\xF1߂\x81\x81\xF1\x83*\x83\xE3,\xA0*\x90��j8��xc`frg\x9C\xC0\xC0\xCA\xC0\xC1\xD4\xC5\xC1\xC0\xC0\xE0+\xA1\xE3\x8Cu\x80|\xA002 \x81P\xEFp?\x86*f\x85\xFF'\x98_0\x9C\x80\xA9a\xFC´H)00��\xDE%\x8F����xLʵa\x82a��\x84\xE1\x{1D3E3B}v)\xE3\xD2%AF\xA0\xC4\xDBlt\xBC\xC6:\xF6a\x88\\xA4{N\x80s\xC2����/ \xD6x\x91-\x9Ew\xD9qFT\xF6l\x93\x90\x97x#\x90\x97٦#\xAF\xB2\xCEP^\xFB\xE7ubL\xE5+\x8E͖\xBC\xF9e\x87\xF1k@`\xAEdå\xA9ȖmӗOf"\xFB\x9F%\xF2f&/si\xB3\xF2*\x87\xB6$\xAF\xFD\xF3:-ې7\xB8q\x8F\xF2\xE6?\xEF\xB2\xEF\xD2\xF2\xABn\xD1ud\xA9\xC3\xC0Z\xCF)\xC4\xA66~Α\xB07\xED\x87i\xF7\xB3M:\xD2\xDC\xF2M\x8Eϩ\xA4\xAAr\x90\xED;[\x9D^\x95\x81.)K\xD2-\x8E\xF4]\xAB\x85\xFAh\xAB\xE0#\xBA0\x86\x84\xF7\xE4\x94Wn\xA7\x96\x91\xF0#\xE5\xC3\xD2\xE8U%I2\x9B\xFE\xDE\xE6\xCFO\xC4mD\xA7h\xA2\x9C׶\xA2+\xF9\xEF\x94$W\xB0\xB4!\xB7\xD5\xEEDD\xBD\xDEp3_+\x8A\xC8\xE8E\xB5
 \xA3N\xAB\x
 DBm?\xB3\xAF\xDCnTjO#\x92\xD5Q`\x8D\xAEVTo]m\xBD"[\x99cD\xBF\x8D\x9As\xB0\xB4T\xD9@\xBE\x9C;f-\xB5N/\xB6A5\xCEF\xE5\xBCZ\xFBFB=\x88cs:\xA1\x90\xF7\xE7v\xE3,jᠱB\x89��\xC2%\x8F	R\xF4-\x98%|g^1V\xF8Ȏ\x8Au\xE7/`\xB8\xD1=\xBF\x97H\xF1\xAAx\xDD\xF1\xBCDt\xCF?.\x808o\xC4\xF5\x8A\xE7-Gsv\xA4\xACN\xA4+1\xC67L\xF1\x93\xD1S\xFF\xF9\xAD"'yh\xB9=\xD8\xE17\xFE\x81\xDFϖ\xAC\xC8E\xBF\xBBuD\xE8qb\x839\xD6P\xA2)\xC9)d\x8C\xDA<:h\xA1˭\xFDꝞ\xAB\xD7%\xB4ԧ\xB8\xCEѽ\xD8\xF1\xAE\xF7\xD1̮8\xAE\xB1\x85\xE3\xD9J5I\G\xA9\xFCoF
+\xF3kf\xC91keW\x8F\x92w\xEDq\xC2k\xD9\xD9\xC9[\xB6rRg\x89\xB2š\xD9\xE3\xC0\xAD\xC6��17s\xFB\x86\xE2ޟ\xE7\x8C7\xCC>}\xFD\xF5\xDB\xFF+\xFD܆x\xC7%\x83����@\xD17׸>\xA9\xD3J\xC1\xE14\xAE\xC1\xD1H\x9C[\xF9\x82%V\xB8XY\xFC\xBDV\xE2loi\xED\xE6#Pi\x867/?\x89z\xBA6C7\xB48\x88%\xA2\x83uxc`f��\x83\xFF[\x8C\xB0����,\xC2\xEA��x<\x8DR\x85q��\xC4\xF7\xBF\xD9d\xDB\xD50\xDBƳ\xBFg\xE3*\xDD!\xDB\xC6Y:@6\xC7˟@8!\x84H\x90\xF4\xFD\x84\xDE\xE3\xAD\xD1Y%㗕\x{1D0107},\xF1\x90͇\xF4\xF0\x95g\xD9C\xED\xE3e\xC4}v\xD2}]\xCA\xC2S~*(Dsw\xBB\xC3rKF\x937_V\xAE\x95U\xE47\xD674\xE5kB\xF9\xDFw]\xBB\xD7S\x9B\xDFj\xB5\xE6w<\xF9n\xBDG\xEF\xF6\xEBu\xB5\xFF\xB8\xFCo
+3Ж\x81\x94$	h'\x96\xB0\x8C\xACb+\xEB\xD8\xC0&\xB6\xB0\x8D\xECb\xFB8\xC0!\x8Ep\x8C\x9C\xE2\xE7\xB8\xC0%\xAEp\x8D1/n\xD9\xC6vv\xB0\x93]\xECf{\xD9\xC7~p\x90C\xE6G9\xC6qNp\x92S\x9C\xE6g9\xC7y\xCA(\xA7\x82J\xAA\xA8\xA6\x86Zꨧ\x81\xC6\xFB\xA2g\xD9G#\xC4]G7\xE6\xF6\xE64\xFBNw\xEB\xE0om\xD5W\xDBVl\xE3و\xAD\x87<\x9Cޭm\xDB\xEE\xEF\xDA\xEE\xBC\xF4V\xD1\xCFj\xEC\x993\xD7\xF0lj\xE5\xB3\xD8|\xD2ț\xF06l\xE5\xB7\xF2ͭ\xFA\x8A\xEB\xD3\xDB\xF3\xDFso\xFD\xD1.D\xAEσ\xEB\xD4\xC8/CP\xCC\xE4\xF5\x97c\xC8P|y\xDB\xEC\xF5\x9A 4\xE1\xF2&2\xF4\x83\xD7\xE5M(f\xA6\xDELo\xAD\x98њ\x9E\x8C\xBD`\xE8A\x86\xF2~\xD9\x93@D<\xC9P\xF0\xC4\xC3\xDE\x88I\xDBt\xD2\xEB+\xD3\xF2\x82\xF0\xB1\xF4+\x85砘X\xAF	K=ߵ\x{D82E}𜀩\xC0\xDFCI\xDCo\x82M\xA1ۚ\xEA\xDF6\xD0.\xF4W\xE8\xE9܏6$į\xCB\xD6\xE7\x94닋\xB9REQ	\xE3hh\xB4\xEE\xAB^L\x82X]\x81H+\xD0#\xE3\xA3H\xD8Ԫ\xD1\xDBwm\x9FG\x9B9\xF5|\xCD\xC49L\x81VXV\xA2/\xA9a\xAB\xEF\xBFh8}\x88i\x90qz{\x8AĢD\xCDFy
+K\xCCW\x8E%\x89	\x82\xAC“g\xDFր\xCB#\x8E\xFEZY\xA1RUq\x81eM\xCE"c\xE8\x89\xC6\xC2z\xE8al=\xE8\xDE͖\x93H\xACRJDR\x9DD\x9A\xAF\xCD\xCBc\xA6)\xBE\x86\xA9SY\xFA\xA9z\xA3j\xF8tf\xB56Ơ`\xA5%u\xCA\xF8\x9A��\xC1\xA4\xE7B\x88X\xCA\xD1\xF7\xE6\xAD'\xBD\xA7\xE6r\xDAm\xDAݻ\xA0\xAB\xA22\xD5\xEAZ\x91\xAA\xB5\xDC\xC8>d\xAF }G\xA6\x80D\xF7
+\xB5:!\xB7\xD7\xEB\x96g\xB7\xEB\xCEC\xE6A`w\xB1ɹ\xC5\xE8\xBA\xDB\xC8\xE8Q\xCEhDC"H\xCFfp\xFD\x98\xF9\xD4)\x9B\xAA\xA6@\xAC\x92J9\xA1A\x9EŬ\xCE^\xB1i~*P��ݚa\xE8\x99-\xA5K\xD8l\xA5T\xCE\xC8t\xF2\x92\xF2"K㮼c\x8B\xD9\xC0\xB6i\xD0\x8D\xBF\x9F\xF3ehA?\xB3p9������xc`d``\xE0b0`\xF0b`rq\xF3	a\xE0\xCBI,\xC9c\x90b`a��\x82\xFF\xFFA\xF262\xA5\xE4d\xA63\xF0\x81I\xA00PD\x821\x94\xE6��c&\x86i`\xD2��\xC9\xC3������������������������
\ No newline at end of file

Added: trunk/LayoutTests/fast/text/resources/LiebeTest-liga.woff (0 => 231361)


--- trunk/LayoutTests/fast/text/resources/LiebeTest-liga.woff	                        (rev 0)
+++ trunk/LayoutTests/fast/text/resources/LiebeTest-liga.woff	2018-05-04 17:38:54 UTC (rev 231361)
@@ -0,0 +1,17 @@
+wOFFOTTO��������������\x84������������������������������������������������CFF ����|����5����\x9B\xB1lGPOS����\xB4������G������d\x8D\xB0\x8C\xFBGSUB����\xFC������
+������
+������OS/2����\x84������J������`hg\xACcmap���� ������H������Z\xAD\xCDhead����������0������6\xF5��mhhea����d������������$\xA9hhmtx����@������"������\xC4DT��\xE3maxp������������������CP��name����\xD0����M����\xB5\xF2\xE3post����h������������ \xFF\xB8��2����P����C����xc`d`��aw\xF9\x9Ex~\x9B\xAF\xCC\xCC/\x80\xE0:\xDCd8\xAD\xFA߂q\xB3>\x90\xCB\xCC\xC0��\xFF	2xc\xFC\xC2\xCB\xC1\xC0@\xCC\xC8Ǡ\xCA(\xC0`\xCE\xF0\x8BAȧ����\xA7Yq����xc`d``~\xF1߂\x81\x81\xF1\x83*\x83\xE3,\xA0*\x90��j8��xc`frg\x9C\xC0\xC0\xCA\xC0\xC1\xD4\xC5\xC1\xC0\xC0\xE0+\xA1\xE3\x8Cu\x80|\xA002 \x81P\xEFp?\x86*f\x85\xFF'\x98_0\x9C\x80\xA9a\xFC´H)00��\xDE%\x8F����xLʵa\x82a��\x84\xE1\x{1D3E3B}v)\xE3\xD2%AF\xA0\xC4\xDBlt\xBC\xC6:\xF6a\x88\\xA4{N\x80s\xC2����/ \xD6x\x91-\x9Ew\xD9qFT\xF6l\x93\x90\x97x#\x90\x97٦#\xAF\xB2\xCEP^\xFB\xE7ubL\xE5+\x8E͖\xBC\xF9e\x87\xF1k@`\xAEdå\xA9ȖmӗOf"\xFB\x9F%\xF2f&/si\xB3\xF2*\x87\xB6$\xAF\xFD\xF3:
 -ې7\xB8q\x8F\xF2\xE6?\xEF\xB2\xEF\xD2\xF2\xABn\xD1u$\xA9ѷ\x9ES4ar\xDA\xFC\xF99G\
 xC2\x8Ce\xA4BX.IPő斿\xE9ɱ\x94^\xF7\xEB,\xFF\xCE\xD7\xC7`7&\xD1%\xB5\xB3֐\xF2#}\xB7:\xD7}\x95\xA2\xA2\xE7H\xF8HAG\xBAP\xC2OuL\xCEnV-\x95e\xD9d\xF6m\xF1sr\xAB??\xB7\x9D\xA4\xB9\xD1\xFA\x8A\xAE\xCC\xFF\xA3,\xBB\x82Ƨ\xB5\xAF'B+\x87\x93\xDDj\xAB}*\x95\xB3y[\xF5T\xBF;\xF4\x9E\x89+\xD5M\x8D\x8DT2"y%\xB6\xB1Ն\xEA}\xA8}\xD4\xE4+wT\xF4\xDB\xE9\x85\xA7\xCA'\x8Af\x98	Tؘ\x82\xCD\xF7I7ΦfUmcäT\x8F\x9BMw\xCAPJ\xFFk\xBFk\xE2<j`\xB1\x81A\xE1\x92OZ2ʙ%|g^3\xD6\xF8\x8F
+	
+\x848^t\xCF?\x8A\xA4\xF9\xD5\xFC\xF8.\xA0\xEE\xF9O\x85K 8\xF1Y\xE1/4\xBF{8Ɓ\xB3*d\xB2&\x98\xE1\xF8\xC9\xE8\xA9\xFF\xF9\xAD\xFF\2EX\xA9\x8CD\xF8\x8D \xC1\xF7\xB5	k\xB1?\xDCz(yM\xB0\xC3
+[h\xB1)\xA1$O\x8E6\xA3\x9F>\xBA\xF0\xEA\xBDVӳ\xF3\x9A\xC2\xC0\xCA|\xCAkݓ\xBF\xE9:\x8Eev\xC3r\x8D=\xDF^\xA6I\xE2\xE5p\x94\xC9\xFFf\xA4\xB1\xBAf
+\xE6\x88Y/Q#3\xE1\xDA'o%r\x90^\x{192A41}3LŲ–\xD9\xE3ī\xC6M^\xF2ޟ\xAF\xEF\x98}\xDA\xFDu\xEF\xFF\xDD+\xDCn������x\xC7%\x83����@\xD17׸>\xA9\xD3J\xC1\xE14\xAE\xC1\xD1H\x9C[\xF9\x82%V\xB8XY\xFC\xBDV\xE2loi\xED\xE6#Pi\x867/?\x89z\xBA6C7\xB48\x88%\xA2\x83uxc`f��\x83\xFF[\x8C\xB0����,\xC2\xEA��x<\x8DR\x85q��\xC4\xF7\xBF\xD9d\xDB\xD50\xDBƳ\xBFg\xE3*\xDD!\xDB\xC6Y:@6\xC7˟@8!\x84H\x90\xF4\xFD\x84\xDE㭱JF\xF5\x97\x95\x{1D0107},\xF1\x90͇\xF4\xF0\x95g\xD9C\xED\xE3e\xC4}v\xD2}]\xCA\xC2S~*(Dsw\xBB\xC3rKF\x937_V\xAE\x95U\xE47\xD674\xE5kB\xF9\xDFw]\xBB\xD7S\x9B\xDFj\xB5\xE6w<\xF9n\xBDG\xEF\xF6\xEBu\xB5\xFF\xB8\xFCo
+3Ж\x81\x94$	h'\x96\xB0\x8C\xACb+\xEB\xD8\xC0&\xB6\xB0\x8D\xECb\xFB8\xC0!\x8Ep\x8C\x9C\xE2\xE7\xB8\xC0%\xAEp\x8D1/n\xD9\xC6vv\xB0\x93]\xECf{\xD9\xC7~p\x90C\xE6G9\xC6qNp\x92S\x9C\xE6g9\xC7y\xCA(\xA7\x82J\xAA\xA8\xA6\x86Zꨧ\x81\xC6\xFB\xA2g\xD9G#\xC4]G7\xE6\xF6\xE64\xFBNw\xEB\xE0om\xD5W\xDBVl\xE3و\xAD\x87<\x9Cޭm\xDB\xEE\xEF\xDA\xEE\xBC\xF4V\xD1\xCFj\xEC\x993\xD7\xF0lj\xE5\xB3\xD8|\xD2ț\xF06l\xE5\xB7\xF2ͭ\xFA\x8A\xEB\xD3\xDB\xF3\xDFso\xFD\xD1.D\xAEσ\xEB\xD4\xC8/CP\xCC\xE4\xF5\x97c\xC8P|y\xDB\xEC\xF5\x9A 4\xE1\xF2&2\xF4\x83\xD7\xE5M(f\xA6\xDELo\xAD\x98њ\x9E\x8C\xBD`\xE8A\x86\xF2~\xD9\x93@D<\xC9P\xF0\xC4\xC3\xDE\x88I\xDBt\xD2\xEB+\xD3\xF2\x82\xF0\xB1\xF4+\x85砘X\xAF	K=ߵ\x{D82E}𜀩\xC0\xDFCI\xDCo\x82M\xA1ۚ\xEA\xDF6\xD0.\xF4W\xE8\xE9܏6$į\xCB\xD6\xE7\x94닋\xB9REQ	\xE3hh\xB4\xEE\xAB^L\x82X]\x81H+\xD0#\xE3\xA3H\xD8Ԫ\xD1\xDBwm\x9FG\x9B9\xF5|\xCD\xC49L\x81VXV\xA2/\xA9a\xAB\xEF\xBFh8}\x88i\x90qz{\x8AĢD\xCDFy
+K\xCCW\x8E%\x89	\x82\xAC“g\xDFր\xCB#\x8E\xFEZY\xA1RUq\x81eM\xCE"c\xE8\x89\xC6\xC2z\xE8al=\xE8\xDE͖\x93H\xACRJDR\x9DD\x9A\xAF\xCD\xCBc\xA6)\xBE\x86\xA9SY\xFA\xA9z\xA3j\xF8tf\xB56Ơ`\xA5%u\xCA\xF8\x9A��\xC1\xA4\xE7B\x88X\xCA\xD1\xF7\xE6\xAD'\xBD\xA7\xE6r\xDAm\xDAݻ\xA0\xAB\xA22\xD5\xEAZ\x91\xAA\xB5\xDC\xC8>d\xAF }G\xA6\x80D\xF7
+\xB5:!\xB7\xD7\xEB\x96g\xB7\xEB\xCEC\xE6A`w\xB1ɹ\xC5\xE8\xBA\xDB\xC8\xE8Q\xCEhDC"H\xCFfp\xFD\x98\xF9\xD4)\x9B\xAA\xA6@\xAC\x92J9\xA1A\x9EŬ\xCE^\xB1i~*P��ݚa\xE8\x99-\xA5K\xD8l\xA5T\xCE\xC8t\xF2\x92\xF2"K㮼c\x8B\xD9\xC0\xB6i\xD0\x8D\xBF\x9F\xF3ehA?��p3������xc`d``\xE0b0`\xF0b`rq\xF3	a\xE0\xCBI,\xC9c\x90b`a��\x82\xFF\xFFA\xF262\xE5d\xA6'2\xF0\x81I\xA00PD\x821\x94\xE6��c&\x86i`\xD2��\xC82\xBD������������������������
\ No newline at end of file

Added: trunk/LayoutTests/fast/text/resources/LiebeTest-swsh.woff (0 => 231361)


--- trunk/LayoutTests/fast/text/resources/LiebeTest-swsh.woff	                        (rev 0)
+++ trunk/LayoutTests/fast/text/resources/LiebeTest-swsh.woff	2018-05-04 17:38:54 UTC (rev 231361)
@@ -0,0 +1,17 @@
+wOFFOTTO��������������\x84������������������������������������������������CFF ����|����5����\x9B\xCB-\x81GPOS����\xB4������G������d\xA0ŠGSUB����\xFC������
+������
+������OS/2����\x84������J������`hg\xACcmap���� ������H������Z\xAD\xCDhead����������0������6\xF5\xF5hhea����d������������$\xA9hhmtx����@������"������\xC4DT��\xE3maxp������������������CP��name����\xD0����P����\xB5\x83Nepost����h������������ \xFF\xB8��2����P����C����xc`d`��\xE1/ZI\xF1\xFC6_\x98\x99_0��\xC1u\xFE\xF8p8\xAD\xFA߂q\xB3>\x90\xCB\xCC\xC0��)	\xE6xc\xFC\xC2\xCB\xC1\xC0@\xCC\xC8Ǡ\xCA(\xC0`\xCE\xF0\x8BAȧ����\xA7Yq����xc`d``~\xF1߂\x81\x81\xF1\x83*\x83\xE3,\xA0*\x90��j8��xc`frg\x9C\xC0\xC0\xCA\xC0\xC1\xD4\xC5\xC1\xC0\xC0\xE0+\xA1\xE3\x8Cu\x80|\xA002 \x81P\xEFp?\x86*f\x85\xFF'\x98_0\x9C\x80\xA9a\xFC´H)00��\xDE%\x8F����xLʵa\x82a��\x84\xE1\x{1D3E3B}v)\xE3\xD2%AF\xA0\xC4\xDBlt\xBC\xC6:\xF6a\x88\\xA4{N\x80s\xC2����/ \xD6x\x91-\x9Ew\xD9qFT\xF6l\x93\x90\x97x#\x90\x97٦#\xAF\xB2\xCEP^\xFB\xE7ubL\xE5+\x8E͖\xBC\xF9e\x87\xF1k@`\xAEdå\xA9ȖmӗOf"\xFB\x9F%\xF2f&/si\xB3\xF2*\x87\xB6$\xAF\xFD\xF3:-ې
 7\xB8q\x8F\xF2\xE6?\xEF\xB2\xEF\xD2\xF2\xABn\xD1Ue\xB9\xC3P}\xCF*\xD4L\xA8\xDC\xFE\x
 BCy\xCCX\xF8-9\xB5O\xD38\xC7viI\xB3\xCBw\xA3a<&IWWd\xFB\xCEV'g\xD6:\xF0%gI\xDA\xE3ʼn\xBF\xB5Pm|\xC4E\xC1\x82{v\xCA+\xB7W\xABH\xF0\x91\xF2\xC1\xBCN\xA3$I\x86\xE3oӟ\xC3[\xFBy+\xDCj\k弱%_\xB9\xFF\xFE\xC7Ir%j\x96\xB6\xDC\xD7@\xD4\xEB+\xB7\xF3\x8D\xB2!\x8F
+\xB3Ȣv\xD4iu\xBB\xEDg\xE2Ju#m<\xE7\x90X^\xC7>\xA6\s\xB5s\x95\xF5\x8AmY\x9C"\xFE]\xA89\x94\x95\xE5Ң=w@\xAF\x8C\xCE,vA5\xCEFz^n|C\x87P+⸨3\xE4\xD2\xFF\xD2nczG\x96*:\x91#Ck\xD2\x88\xE9'\xA3\x84R\xEAAZ��e\xFA\AV\xF4\x8C~\x9E"\xD8/\xA8\xC0\xE2{|/\x9A«\xF0\xEEq\xAF(\xBA\xC7	\x86<\xB88\x9A\xFE\x92w\x878s0Rx'\xB2\x864\xA6o4\xA5\x9F\x90\x9E\xF2\xCFo\xF9\xC9\xE4\xC9He\xFC \xC2o\xFAG,\xF2}\xAB\x86g\xA0\xA5\xF8\xEFo\x{1701B4}ER\xE2\x93\xC3Z\x90A\xE6R\xA7C-\xEAb\xB5_\xAD\xE9\xB9y\x8D`72\x9F\xFC\xDA\xC6\xF7t\x877\\xC71@\xD7\xD0+L\xC5\xE1\xB62MVA'\x99\xFCoH\x8A\xE6\xD7\xC8
+\xB5ד\xD5@\xDC5\xC7	n$\xB2\x93^v\x92\xA9AgR\xD3\xBC+\xD0\xE4\x80Uрb\xACⶇ\xFCޟ\xD7S\xDB}\xDA\xFDu\xEF\xFFu\xCEݮx\xC7%\x83����@\xD17׸>\xA9\xD3J\xC1\xE14\xAE\xC1\xD1H\x9C[\xF9\x82%V\xB8XY\xFC\xBDV\xE2loi\xED\xE6#Pi\x867/?\x89z\xBA6C7\xB48\x88%\xA2\x83uxc`f��\x83\xFF[\x8C\xB0����,\xC2\xEA��x<\x8DR\x85q��\xC4\xF7\xBF\xD9d\xDB\xD50\xDBƳ\xBFg\xE3*\xDD!\xDB\xC6Y:@6\xC7˟@8!\x84H\x90\xF4\xFD\x84\xDE\xE3\xAD\xF1<\xA6/+\xEF!	Y\xE2!\x9B\xE9\xE1+ϲ\x87\xDA\xC7ˈ\xFB\xEC\xA4\x{3E94167}\xFCTP\x88\xE6\xEEv\x873䖌&o\xBE\xAC\+\xAB\xC8o\xACoh\xCAׄ\xF2\xBF\xEF\xBAv\xAF\xA76\xBF\xD5j\xCD\xFF\xEEx\xF2\xDDz\x8F\xDE\xED\xD7\xEBj\xFFq\xF9\xDF8f\xA0-)1H\xD0N,a+X\xC5ֱ\x81Mla;\xD8\xC5\xF6q\x80C\xE1'8\xC5\xCEq\x81K\\xE17b^ܲ\x8D\xED\xEC`'\xBB\xD8\xCD\xF6\xB2\x8F\xFD\xE0 \x878\xCC\x8Er\x8C\xE3\x9C\xE0$\xA78\xCD\xCEr\x8E\xF3\x94QN\x95TQM+\xB5\xD4QO\x8D\xF7Eϲ\x8FF\x881\xBA\x8E.n\xCC\xED\xCDi\xF6\x9D\xEE\xD6\xC1\xDF\xDA\xFE\xAA\xAF\xB6\
 xAD\x
 D8Ƴ[y8\xBD[۶\xDDߵ\xDDy魢\x9F\xD5\xD83g\xAE\xE1\xD8\xD4\xCAg\xB1\xF9\xA4\x917\xE1m\xD8\xCAo\xE5\x9B[\xF5ק\xB71\xE61\xBE\xE7\xDE\xFA\xA3]\x88\\xFF\x9Eש\x91_\x86\xA0\x98\xC9\xEB/ǐ\xA1\xF8\xF2\xB6)\xD8\xEB5Ah\xC2\xE5Md\xE8\xAF˛P\xCCL\xBD\x99\xDEZ1!\xA25={\xC1\xD0(\x82\xE5!\xFC\xB2&\x81\x88x\x92\xA1\xE0\x89\x87\xBD9\x93\xB6\xE9\xA4\xD72\xA63\xE4\xE11(b\xE9
+\xCFA1\xB1^\x96z\xBEk\xDBA]?\xE09S\x81\xBF\x87\xFE\x92&\xB8\xDF#\x9AB\xB755Կm\xA0]\xE8\xAF\xD0ӹmH\x88_\x97\xAD\xCF)/\xD6s\xA5\x8A\xA2\xC6\xD1\xD0h\xDDW\xBD\x98\xB1\xBA\x91V(\xA0?F\xC6G\x91\xB0\xA9U\xA3\xB7\xEF\xDA
+>\x8F6s\xEA\xF9\x9A\x89s\x98\xAD\xB0\xACD_R\xC3V\xDF9~\xD1p\xFA\xD3:2 \xE3\xF4\xF6\x89E\x89\x9A\x8D\xF2\x96\xFE\x98\xAFKY\x85'Ͼ\xAD\x97G\xFD\xB5\xB2B\xA5\xAA\xE2ʚ\x9CE\xC6\xD0\x8D\x85\xF5\xD0\xC3\xD8zн\x9B-'\x91X\xA5\x94\x88\xA4:\x894_\x9B\x97\xC7LS|+S\xA7\xB2\xF4S\xF5F\xD5\xF0\xE9\xCCjm\x8CA\xC1JK\xEA\x94+\xF05\x82Iυ\xB1\x94\xA3\xEF\xCD[OzO\xCD\xE5\xB4۴\xBBwAWDd\xAAյ"Uk/\xB8\x91}\xC8^A\xFA\x8E L\x89\xEE+juBn\xAF\xD7-\xDDC\xCFnם\x87\xCC\x82\xC0\xEEb\x93s\x8B\xD1u\xB7\x90\xD1\xA2\x9C7Ј2\x86D\x90\x9E\xCD$\xE0\xFA1\xF3\xA9S6UM\x81X%\x95rB\x83<\x8BY\x9D\xBDb\xD3\xFCT\xA0 ��\xBA5\xC3\xD03[J\x97&\xB0\xD9J\xA9\x9C\x91\xE9\xE4%\xE5E\x96\xC6]y\xC7\xB3\x81\xFFlӠ\xFE>?\xE7\xCB.Ђ~\xC3p\x83������xc`d``\xE0b0`\xF0b`rq\xF3	a\xE0\xCBI,\xC9c\x90b`a��\x82\xFF\xFFA\xF262\x97g0\xF0\x81I\xA00PD\x821\x94\xE6��c&\x86i`\xD2��\xD6l+������������������������
\ No newline at end of file

Added: trunk/LayoutTests/fast/text/vertical-displacement-simple-codepath-expected.html (0 => 231361)


--- trunk/LayoutTests/fast/text/vertical-displacement-simple-codepath-expected.html	                        (rev 0)
+++ trunk/LayoutTests/fast/text/vertical-displacement-simple-codepath-expected.html	2018-05-04 17:38:54 UTC (rev 231361)
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<html>
+<head>
+</head>
+<body>
+This test makes sure that vertical displacements in our fast text codepath are using the correct coordinate system. The test passes if this text you are reading right now is the only thing on the page.
+</body>
+</html>

Added: trunk/LayoutTests/fast/text/vertical-displacement-simple-codepath.html (0 => 231361)


--- trunk/LayoutTests/fast/text/vertical-displacement-simple-codepath.html	                        (rev 0)
+++ trunk/LayoutTests/fast/text/vertical-displacement-simple-codepath.html	2018-05-04 17:38:54 UTC (rev 231361)
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style>
+@font-face {
+    font-family: "LiebeTest-calt";
+    src: url("resources/LiebeTest-calt.woff") format("woff");
+}
+@font-face {
+    font-family: "LiebeTest-dlig";
+    src: url("resources/LiebeTest-dlig.woff") format("woff");
+}
+@font-face {
+    font-family: "LiebeTest-liga";
+    src: url("resources/LiebeTest-liga.woff") format("woff");
+}
+@font-face {
+    font-family: "LiebeTest-swsh";
+    src: url("resources/LiebeTest-swsh.woff") format("woff");
+}
+</style>
+</head>
+<body>
+This test makes sure that vertical displacements in our fast text codepath are using the correct coordinate system. The test passes if this text you are reading right now is the only thing on the page.
+<div style="position: relative;">
+<span style="font: 100px 'LiebeTest-calt';">cba</span><span style="font: 100px 'LiebeTest-dlig'; font-feature-settings: 'dlig';">cba</span><span style="font: 100px 'LiebeTest-liga';">cba</span><span style="font: 100px 'LiebeTest-swsh'; font-feature-settings: 'swsh';">cba</span>
+<div style="position: absolute; top: 0px; left: 0px; width: 100%; height: 102px; background: white;"></div>
+</div>
+</body>
+</html>

Modified: trunk/Source/WebCore/ChangeLog (231360 => 231361)


--- trunk/Source/WebCore/ChangeLog	2018-05-04 17:36:34 UTC (rev 231360)
+++ trunk/Source/WebCore/ChangeLog	2018-05-04 17:38:54 UTC (rev 231361)
@@ -1,3 +1,23 @@
+2018-05-04  Myles C. Maxfield  <[email protected]>
+
+        Text shaping in the simple path is flipped in the y direction
+        https://bugs.webkit.org/show_bug.cgi?id=185062
+        <rdar://problem/39778678>
+
+        Reviewed by Simon Fraser.
+
+        Shaping in our simple codepath occurs in an "increasing-y-goes-up" coordinate system, but our painting
+        code uses an "increasing-y-goes-down" coordinate system. We weren't fixing up the coordinate systems
+        because we never noticed. This is because the simple codepath is only designed for kerning and ligatures,
+        neither of which move glyphs vertically in the common case.
+
+        Test: fast/text/vertical-displacement-simple-codepath.html
+
+        * platform/graphics/Font.cpp:
+        (WebCore::Font::applyTransforms const):
+        * platform/graphics/WidthIterator.cpp:
+        (WebCore::WidthIterator::applyFontTransforms):
+
 2018-05-04  Chris Nardi  <[email protected]>
 
         Serialize all URLs with double-quotes per CSSOM spec

Modified: trunk/Source/WebCore/platform/graphics/Font.cpp (231360 => 231361)


--- trunk/Source/WebCore/platform/graphics/Font.cpp	2018-05-04 17:36:34 UTC (rev 231360)
+++ trunk/Source/WebCore/platform/graphics/Font.cpp	2018-05-04 17:38:54 UTC (rev 231361)
@@ -368,7 +368,6 @@
 
 bool Font::applyTransforms(GlyphBufferGlyph* glyphs, GlyphBufferAdvance* advances, size_t glyphCount, bool enableKerning, bool requiresShaping) const
 {
-    // We need to handle transforms on SVG fonts internally, since they are rendered internally.
 #if PLATFORM(COCOA)
     CTFontTransformOptions options = (enableKerning ? kCTFontTransformApplyPositioning : 0) | (requiresShaping ? kCTFontTransformApplyShaping : 0);
     return CTFontTransformGlyphs(m_platformData.ctFont(), glyphs, reinterpret_cast<CGSize*>(advances), glyphCount, options);

Modified: trunk/Source/WebCore/platform/graphics/WidthIterator.cpp (231360 => 231361)


--- trunk/Source/WebCore/platform/graphics/WidthIterator.cpp	2018-05-04 17:36:34 UTC (rev 231360)
+++ trunk/Source/WebCore/platform/graphics/WidthIterator.cpp	2018-05-04 17:38:54 UTC (rev 231361)
@@ -114,6 +114,9 @@
 
     font->applyTransforms(glyphBuffer->glyphs(lastGlyphCount), advances + lastGlyphCount, glyphBufferSize - lastGlyphCount, m_enableKerning, m_requiresShaping);
 
+    for (unsigned i = lastGlyphCount; i < glyphBufferSize; ++i)
+        advances[i].setHeight(-advances[i].height());
+
     if (!ltr)
         glyphBuffer->reverse(lastGlyphCount, glyphBufferSize - lastGlyphCount);
 

Modified: trunk/Tools/ChangeLog (231360 => 231361)


--- trunk/Tools/ChangeLog	2018-05-04 17:36:34 UTC (rev 231360)
+++ trunk/Tools/ChangeLog	2018-05-04 17:38:54 UTC (rev 231361)
@@ -1,3 +1,15 @@
+2018-05-04  Myles C. Maxfield  <[email protected]>
+
+        Text shaping in the simple path is flipped in the y direction
+        https://bugs.webkit.org/show_bug.cgi?id=185062
+        <rdar://problem/39778678>
+
+        Reviewed by Simon Fraser.
+
+        Huge thanks to Ulrike Rausch of LiebeFonts for contributing the test fonts!!!
+
+        * Scripts/webkitpy/common/config/contributors.json:
+
 2018-05-04  Leo Balter  <[email protected]>
 
         Test262-Runner: place the processCLI inside the main call

Modified: trunk/Tools/Scripts/webkitpy/common/config/contributors.json (231360 => 231361)


--- trunk/Tools/Scripts/webkitpy/common/config/contributors.json	2018-05-04 17:36:34 UTC (rev 231360)
+++ trunk/Tools/Scripts/webkitpy/common/config/contributors.json	2018-05-04 17:38:54 UTC (rev 231361)
@@ -5547,6 +5547,11 @@
       ],
       "status" : "committer"
    },
+   "Ulrike Rausch" : {
+      "emails" : [
+         "[email protected]"
+      ]
+   },
    "Vangelis Kokkevis" : {
       "emails" : [
          "[email protected]"
@@ -6012,4 +6017,4 @@
       ],
       "status" : "reviewer"
    }
-}
\ No newline at end of file
+}
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to