2010-11-19 Martin Robinson <mrobinson@igalia.com>
authormrobinson@webkit.org <mrobinson@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 19 Nov 2010 18:02:40 +0000 (18:02 +0000)
committermrobinson@webkit.org <mrobinson@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 19 Nov 2010 18:02:40 +0000 (18:02 +0000)
        Reviewed by Daniel Bates.

        [GTK] fast/text/international tests are flaky on the bots
        https://bugs.webkit.org/show_bug.cgi?id=49781

        Beef up the == operator overload for Freetype FontPlatformData. Before
        if two FontPlatformDatas had hash values which fell into the same bucket
        and were similar enough, they would be evaluated as being equal, leading
        to failures.

        No new tests for this change. It's very hard to test, because it depends
        on the memory address of new allocations. Hopefully flakiness on the bots
        will go away after patch.

        * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
        (WebCore::FontPlatformData::operator==): Beef up the == operator overload.

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

WebCore/ChangeLog
WebCore/platform/graphics/freetype/FontPlatformDataFreeType.cpp

index 80883d4..c364415 100644 (file)
@@ -1,3 +1,22 @@
+2010-11-19  Martin Robinson  <mrobinson@igalia.com>
+
+        Reviewed by Daniel Bates.
+
+        [GTK] fast/text/international tests are flaky on the bots
+        https://bugs.webkit.org/show_bug.cgi?id=49781
+
+        Beef up the == operator overload for Freetype FontPlatformData. Before
+        if two FontPlatformDatas had hash values which fell into the same bucket
+        and were similar enough, they would be evaluated as being equal, leading
+        to failures.
+
+        No new tests for this change. It's very hard to test, because it depends
+        on the memory address of new allocations. Hopefully flakiness on the bots
+        will go away after patch.
+
+        * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
+        (WebCore::FontPlatformData::operator==): Beef up the == operator overload.
+
 2010-11-19  Benjamin Poulain  <benjamin.poulain@nokia.com>
 
         Reviewed by Kenneth Rohde Christiansen.
index 394082d..c0756ee 100644 (file)
@@ -228,7 +228,9 @@ bool FontPlatformData::operator==(const FontPlatformData& other) const
         return true;
     if (!m_pattern || !other.m_pattern)
         return false;
-    return FcPatternEqual(m_pattern.get(), other.m_pattern.get());
+    return FcPatternEqual(m_pattern.get(), other.m_pattern.get())
+        && m_scaledFont == other.m_scaledFont && m_size == other.m_size
+        && m_syntheticOblique == other.m_syntheticOblique && m_syntheticBold == other.m_syntheticBold; 
 }
 
 #ifndef NDEBUG