Changeset 216088 in webkit
- Timestamp:
- May 2, 2017 12:35:25 PM (7 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r216087 r216088 1 2017-05-02 Myles C. Maxfield <mmaxfield@apple.com> 2 3 REGRESSION (r211382): Partial right-to-left text runs are painted at an offset (breaks Find indicators, Look Up, and custom ::selection style) 4 https://bugs.webkit.org/show_bug.cgi?id=169517 5 <rdar://problem/30652443> 6 7 Reviewed by Dean Jackson. 8 9 * fast/text/complex-text-selection-expected.html: Added. 10 * fast/text/complex-text-selection.html: Added. 11 * platform/ios/TestExpectations: 12 1 13 2017-05-02 Joseph Pecoraro <pecoraro@apple.com> 2 14 -
trunk/LayoutTests/platform/ios/TestExpectations
r215884 r216088 2947 2947 # auto-sizing produces inconsistent image results 2948 2948 css3/viewport-percentage-lengths/vh-auto-size.html [ ImageOnlyFailure ] 2949 2950 # This test relies on the ::selection pseudoclass which isn't honored on iOS. 2951 webkit.org/b/169517 fast/text/complex-text-selection.html [ ImageOnlyFailure ] -
trunk/Source/WebCore/ChangeLog
r216084 r216088 1 2017-05-02 Myles C. Maxfield <mmaxfield@apple.com> 2 3 REGRESSION (r211382): Partial right-to-left text runs are painted at an offset (breaks Find indicators, Look Up, and custom ::selection style) 4 https://bugs.webkit.org/show_bug.cgi?id=169517 5 <rdar://problem/30652443> 6 7 Reviewed by Dean Jackson. 8 9 FontCascade::getGlyphsAndAdvancesForComplexText() is tasked with calculating paint advances for a 10 subrange of RTL text. It does this by creating a ComplexTextController, telling it to iterate to 11 the beginning of the subrange (outputting to a GlyphBuffer), then telling it to iterate to the end 12 of the subrange (outputting to another GlyphBuffer). Because the text is RTL, the sum of the 13 advances gathered so far is the distance from the right edge of the text to the left edge of the 14 subrange (because we advance in logical order). Therefore, the x-coordinate we are at now is the 15 total width minus the sum of both of the GlyphBuffers. For some reason, when I wrote this code I 16 forgot to add in the contribution from the first GlyphBuffer. Unfortunately, this particular 17 codepath is rarely hit in practice and completely untested, which made me miss it when I wrote it. 18 19 Test: fast/text/complex-text-selection.html 20 21 * platform/graphics/cocoa/FontCascadeCocoa.mm: 22 (WebCore::FontCascade::getGlyphsAndAdvancesForComplexText): 23 1 24 2017-05-02 Chris Dumez <cdumez@apple.com> 2 25 -
trunk/Source/WebCore/platform/graphics/cocoa/FontCascadeCocoa.mm
r214848 r216088 523 523 // the sum of the layout advances. 524 524 initialAdvance = controller.totalWidth(); 525 for (unsigned i = 0; i < dummyGlyphBuffer.size(); ++i) 526 initialAdvance -= dummyGlyphBuffer.advanceAt(i).width(); 525 527 for (unsigned i = 0; i < glyphBuffer.size(); ++i) 526 528 initialAdvance -= glyphBuffer.advanceAt(i).width();
Note: See TracChangeset
for help on using the changeset viewer.