http/tests/misc/acid3.html is flakey on Mavericks
authormmaxfield@apple.com <mmaxfield@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 15 Jan 2015 17:22:18 +0000 (17:22 +0000)
committermmaxfield@apple.com <mmaxfield@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 15 Jan 2015 17:22:18 +0000 (17:22 +0000)
https://bugs.webkit.org/show_bug.cgi?id=140253

Reviewed by Alexey Proskuryakov.

Source/WebCore:

CoreText has a bug <rdar://problem/19433490> in which kerning is not applied for a font
if a CTTypesetter is created using that font before a call to CTFontTransformGlyphs. We
often create typesetters in the complex code path, so it's not obvious when this bug
might present itself. This patch simply makes a dummy invocation of
CTFontTransformGlyphs() when creating a SimpleFontData.

No new tests because this is covered by http/tests/misc/acid3.html.

* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::SimpleFontData::platformInit):

LayoutTests:

Remove flakey mark.

* platform/mac/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178513 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/platform/mac/TestExpectations
Source/WebCore/ChangeLog
Source/WebCore/platform/graphics/mac/SimpleFontDataMac.mm

index dc1407e..9189552 100644 (file)
@@ -1,3 +1,14 @@
+2015-01-15  Myles C. Maxfield  <mmaxfield@apple.com>
+
+        http/tests/misc/acid3.html is flakey on Mavericks
+        https://bugs.webkit.org/show_bug.cgi?id=140253
+
+        Reviewed by Alexey Proskuryakov.
+
+        Remove flakey mark.
+
+        * platform/mac/TestExpectations:
+
 2015-01-15  Andrzej Badowski  <a.badowski@samsung.com>
 
         AX: [ATK] Mark accessibility/render-counter-text.html as a suitable test for EFL and GTK.
index 51111ca..2cc0947 100644 (file)
@@ -1483,7 +1483,7 @@ webkit.org/b/139968 [ MountainLion ] platform/mac/editing/spelling/autocorrectio
 # Fails on Mountain Lion and Yosemite on bots.
 webkit.org/b/139968 fast/text/atsui-rtl-override-selection.html [ Failure ]
 # These tests became flaky, text width gets slightly off.
-webkit.org/b/139968 [ Mavericks+ ] http/tests/misc/acid3.html [ Pass Failure ]
+webkit.org/b/139968 [ Yosemite+ ] http/tests/misc/acid3.html [ Pass Failure ]
 webkit.org/b/139968 [ Mavericks+ ] tables/mozilla/bugs/bug10633.html [ Pass Failure ]
 webkit.org/b/139968 [ Mavericks+ ] tables/mozilla/bugs/bug113235-1.html [ Pass Failure ]
 webkit.org/b/139968 [ Mavericks+ ] tables/mozilla/bugs/bug8858.html [ Pass Failure ]
index 32f15f9..53e9c09 100644 (file)
@@ -1,3 +1,21 @@
+2015-01-15  Myles C. Maxfield  <mmaxfield@apple.com>
+
+        http/tests/misc/acid3.html is flakey on Mavericks
+        https://bugs.webkit.org/show_bug.cgi?id=140253
+
+        Reviewed by Alexey Proskuryakov.
+
+        CoreText has a bug <rdar://problem/19433490> in which kerning is not applied for a font
+        if a CTTypesetter is created using that font before a call to CTFontTransformGlyphs. We
+        often create typesetters in the complex code path, so it's not obvious when this bug
+        might present itself. This patch simply makes a dummy invocation of
+        CTFontTransformGlyphs() when creating a SimpleFontData.
+
+        No new tests because this is covered by http/tests/misc/acid3.html.
+
+        * platform/graphics/mac/SimpleFontDataMac.mm:
+        (WebCore::SimpleFontData::platformInit):
+
 2015-01-15  Chris Dumez  <cdumez@apple.com>
 
         Get rid of custom StyleBuilder code for 'line-height' CSS property
index aeaeaac..cca77bf 100644 (file)
@@ -165,6 +165,13 @@ void SimpleFontData::platformInit()
         LOG_ERROR("failed to set up font, using system font %s", m_platformData.font());
         initFontData(this);
     }
+
+#if __MAC_OS_X_VERSION_MIN_REQUIRED == 1090
+    // Work around <rdar://problem/19433490>
+    CGGlyph dummyGlyphs[] = {0, 0};
+    CGSize dummySize[] = {CGSizeMake(0, 0), CGSizeMake(0, 0)};
+    CTFontTransformGlyphs(m_platformData.ctFont(), dummyGlyphs, dummySize, 2, kCTFontTransformApplyPositioning | kCTFontTransformApplyShaping);
+#endif
     
     int iAscent;
     int iDescent;