Diff
Modified: branches/safari-601.1-branch/LayoutTests/ChangeLog (188302 => 188303)
--- branches/safari-601.1-branch/LayoutTests/ChangeLog 2015-08-11 22:39:51 UTC (rev 188302)
+++ branches/safari-601.1-branch/LayoutTests/ChangeLog 2015-08-11 22:43:08 UTC (rev 188303)
@@ -1,5 +1,9 @@
2015-08-11 Matthew Hanson <[email protected]>
+ Merge r188263. rdar://problem/22202935
+
+2015-08-11 Matthew Hanson <[email protected]>
+
Merge r188203. rdar://problem/22026625
2015-08-09 Nan Wang <[email protected]>
Deleted: branches/safari-601.1-branch/LayoutTests/fast/text/arabic-glyph-cache-fill-combine-expected.html (188302 => 188303)
--- branches/safari-601.1-branch/LayoutTests/fast/text/arabic-glyph-cache-fill-combine-expected.html 2015-08-11 22:39:51 UTC (rev 188302)
+++ branches/safari-601.1-branch/LayoutTests/fast/text/arabic-glyph-cache-fill-combine-expected.html 2015-08-11 22:43:08 UTC (rev 188303)
@@ -1,10 +0,0 @@
-<!DOCTYPE>
-<html>
-<body>
-This test hits a codepath where codepoints were being combined before they were being input into our glyph cache.
-This character occurs just before combining marks in Unicode, and therefore was being erroneously combined. The test
-passes if the glyph is drawn in a font other than LastResort (if the test fails, the character looks like a box or like
-three horizontal lines).
-<div style="font: 50px 'Geeza Pro';">ي</div>
-</body>
-</html>
Deleted: branches/safari-601.1-branch/LayoutTests/fast/text/arabic-glyph-cache-fill-combine.html (188302 => 188303)
--- branches/safari-601.1-branch/LayoutTests/fast/text/arabic-glyph-cache-fill-combine.html 2015-08-11 22:39:51 UTC (rev 188302)
+++ branches/safari-601.1-branch/LayoutTests/fast/text/arabic-glyph-cache-fill-combine.html 2015-08-11 22:43:08 UTC (rev 188303)
@@ -1,10 +0,0 @@
-<!DOCTYPE>
-<html>
-<body>
-This test hits a codepath where codepoints were being combined before they were being input into our glyph cache.
-This character occurs just before combining marks in Unicode, and therefore was being erroneously combined. The test
-passes if the glyph is drawn in a font other than LastResort (if the test fails, the character looks like a box or like
-three horizontal lines).
-<div style="font: 50px UICTFontTextStyleBody;">ي</div>
-</body>
-</html>
Modified: branches/safari-601.1-branch/LayoutTests/platform/efl/TestExpectations (188302 => 188303)
--- branches/safari-601.1-branch/LayoutTests/platform/efl/TestExpectations 2015-08-11 22:39:51 UTC (rev 188302)
+++ branches/safari-601.1-branch/LayoutTests/platform/efl/TestExpectations 2015-08-11 22:43:08 UTC (rev 188303)
@@ -2288,6 +2288,3 @@
accessibility/radio-button-group-members.html [ Missing ]
editing/selection/designmode-no-caret.html [ Missing ]
accessibility/content-editable-as-textarea.html [ Missing ]
-
-# This test relies on iOS-specific font fallback.
-fast/text/arabic-glyph-cache-fill-combine.html [ ImageOnlyFailure ]
Modified: branches/safari-601.1-branch/LayoutTests/platform/gtk/TestExpectations (188302 => 188303)
--- branches/safari-601.1-branch/LayoutTests/platform/gtk/TestExpectations 2015-08-11 22:39:51 UTC (rev 188302)
+++ branches/safari-601.1-branch/LayoutTests/platform/gtk/TestExpectations 2015-08-11 22:43:08 UTC (rev 188303)
@@ -2400,6 +2400,3 @@
# Test requires hardcoded font names, which I do not have for this port.
fast/text/han-generic-font-families.html [ WontFix ]
fast/text/hangul-generic-font-families.html [ WontFix ]
-
-# This test relies on iOS-specific font fallback.
-fast/text/arabic-glyph-cache-fill-combine.html [ ImageOnlyFailure ]
Modified: branches/safari-601.1-branch/LayoutTests/platform/mac/TestExpectations (188302 => 188303)
--- branches/safari-601.1-branch/LayoutTests/platform/mac/TestExpectations 2015-08-11 22:39:51 UTC (rev 188302)
+++ branches/safari-601.1-branch/LayoutTests/platform/mac/TestExpectations 2015-08-11 22:43:08 UTC (rev 188303)
@@ -1360,6 +1360,3 @@
[ ElCapitan+ ] canvas/philip/tests/2d.composite.uncovered.pattern.source-in.html [ Pass Failure ]
[ ElCapitan+ ] canvas/philip/tests/2d.composite.uncovered.fill.source-out.html [ Pass Failure ]
[ ElCapitan+ ] canvas/philip/tests/2d.composite.uncovered.fill.source-in.html [ Pass Failure ]
-
-# This test relies on iOS-specific font fallback.
-[ Mavericks Yosemite ElCapitan ] fast/text/arabic-glyph-cache-fill-combine.html [ ImageOnlyFailure ]
Modified: branches/safari-601.1-branch/LayoutTests/platform/win/TestExpectations (188302 => 188303)
--- branches/safari-601.1-branch/LayoutTests/platform/win/TestExpectations 2015-08-11 22:39:51 UTC (rev 188302)
+++ branches/safari-601.1-branch/LayoutTests/platform/win/TestExpectations 2015-08-11 22:43:08 UTC (rev 188303)
@@ -3124,6 +3124,3 @@
# New test for Bug 144830 (r186388) always fails.
http/tests/security/contentSecurityPolicy/userAgentShadowDOM/allow-audio.html [ Failure ]
-
-# This test relies on iOS-specific font fallback.
-fast/text/arabic-glyph-cache-fill-combine.html [ ImageOnlyFailure ]
Modified: branches/safari-601.1-branch/Source/WebCore/ChangeLog (188302 => 188303)
--- branches/safari-601.1-branch/Source/WebCore/ChangeLog 2015-08-11 22:39:51 UTC (rev 188302)
+++ branches/safari-601.1-branch/Source/WebCore/ChangeLog 2015-08-11 22:43:08 UTC (rev 188303)
@@ -1,5 +1,9 @@
2015-08-11 Matthew Hanson <[email protected]>
+ Merge r188263. rdar://problem/22202935
+
+2015-08-11 Matthew Hanson <[email protected]>
+
Merge r188203. rdar://problem/22026625
2015-08-09 Nan Wang <[email protected]>
Modified: branches/safari-601.1-branch/Source/WebCore/platform/graphics/mac/GlyphPageMac.cpp (188302 => 188303)
--- branches/safari-601.1-branch/Source/WebCore/platform/graphics/mac/GlyphPageMac.cpp 2015-08-11 22:39:51 UTC (rev 188302)
+++ branches/safari-601.1-branch/Source/WebCore/platform/graphics/mac/GlyphPageMac.cpp 2015-08-11 22:43:08 UTC (rev 188303)
@@ -87,11 +87,9 @@
haveGlyphs = true;
}
}
- } else if (!fontData->platformData().isCompositeFontReference()) {
- if (fontData->platformData().widthVariant() == RegularWidth)
- CTFontGetVerticalGlyphsForCharacters(fontData->platformData().ctFont(), buffer, glyphs.data(), bufferLength);
- else
- CTFontGetGlyphsForCharacters(fontData->platformData().ctFont(), buffer, glyphs.data(), bufferLength);
+ } else if (!fontData->platformData().isCompositeFontReference() && ((fontData->platformData().widthVariant() == RegularWidth)
+ ? CTFontGetVerticalGlyphsForCharacters(fontData->platformData().ctFont(), buffer, glyphs.data(), bufferLength)
+ : CTFontGetGlyphsForCharacters(fontData->platformData().ctFont(), buffer, glyphs.data(), bufferLength))) {
// When buffer consists of surrogate pairs, CTFontGetVerticalGlyphsForCharacters and CTFontGetGlyphsForCharacters
// place the glyphs at indices corresponding to the first character of each pair.
ASSERT(!(bufferLength % length) && (bufferLength / length == 1 || bufferLength / length == 2));
@@ -105,9 +103,6 @@
}
}
} else {
- // FIXME: webkit.org/b/147859 This code is fundamentally broken. A string is not the same as an ordered sequence of codepoints. In particular, strings
- // combine adjacent codepoints into grapheme clusters. We should delete this entire else {} block.
-
// We ask CoreText for possible vertical variant glyphs
RetainPtr<CFStringRef> string = adoptCF(CFStringCreateWithCharactersNoCopy(kCFAllocatorDefault, buffer, bufferLength, kCFAllocatorNull));
RetainPtr<CFAttributedStringRef> attributedString = adoptCF(CFAttributedStringCreate(kCFAllocatorDefault, string.get(), fontData->getCFStringAttributes(0, fontData->hasVerticalGlyphs() ? Vertical : Horizontal)));