Reviewed by Darin Adler.
authormitz@apple.com <mitz@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 7 Apr 2009 23:38:48 +0000 (23:38 +0000)
committermitz@apple.com <mitz@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 7 Apr 2009 23:38:48 +0000 (23:38 +0000)
        - fix <rdar://problem/6767428> Resurrect
          +[WebFontCache fontWithFamily:traits:size:] for clients that call it
          directly

        WebFontCache is a class in the WebCore framework and is not WebKit API,
        but apparently (perhaps mistakenly) some clients call this private
        interface.

        This change resurrects the interface and gives it reasonable behavior
        (however, note that WebCore will not call the old interface, so hacks that
        override it will have no effect on WebKit clients).

        * platform/mac/WebFontCache.h:
        * platform/mac/WebFontCache.mm:
        (+[WebFontCache fontWithFamily:traits:size:]): Added. Call through to
        +fontWithFamily:traits:weight:size:.

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

WebCore/ChangeLog
WebCore/platform/mac/WebFontCache.h
WebCore/platform/mac/WebFontCache.mm

index 505332f..c83e5a4 100644 (file)
@@ -1,3 +1,24 @@
+2009-04-07  Dan Bernstein  <mitz@apple.com>
+
+        Reviewed by Darin Adler.
+
+        - fix <rdar://problem/6767428> Resurrect
+          +[WebFontCache fontWithFamily:traits:size:] for clients that call it
+          directly
+
+        WebFontCache is a class in the WebCore framework and is not WebKit API,
+        but apparently (perhaps mistakenly) some clients call this private
+        interface.
+
+        This change resurrects the interface and gives it reasonable behavior
+        (however, note that WebCore will not call the old interface, so hacks that
+        override it will have no effect on WebKit clients).
+
+        * platform/mac/WebFontCache.h:
+        * platform/mac/WebFontCache.mm:
+        (+[WebFontCache fontWithFamily:traits:size:]): Added. Call through to
+        +fontWithFamily:traits:weight:size:.
+
 2009-04-07  David Hyatt  <hyatt@apple.com>
 
         Reviewed by Adam Roben
 2009-04-07  David Hyatt  <hyatt@apple.com>
 
         Reviewed by Adam Roben
index 8d3e4dd..380f271 100644 (file)
@@ -32,4 +32,6 @@
 + (NSFont *)fontWithFamily:(NSString *)desiredFamily traits:(NSFontTraitMask)desiredTraits weight:(int)desiredWeight size:(float)size;
 + (void)getTraits:(Vector<unsigned>&)traitsMasks inFamily:(NSString *)desiredFamily;
 
 + (NSFont *)fontWithFamily:(NSString *)desiredFamily traits:(NSFontTraitMask)desiredTraits weight:(int)desiredWeight size:(float)size;
 + (void)getTraits:(Vector<unsigned>&)traitsMasks inFamily:(NSString *)desiredFamily;
 
+// This older version of the interface is relied upon by some clients. WebCore doesn't use it.
++ (NSFont *)fontWithFamily:(NSString *)desiredFamily traits:(NSFontTraitMask)desiredTraits size:(float)size;
 @end
 @end
index ac70f06..d7d17b7 100644 (file)
@@ -300,4 +300,10 @@ static inline FontTraitsMask toTraitsMask(NSFontTraitMask appKitTraits, NSIntege
     return [self internalFontWithFamily:desiredFamily traits:desiredTraits weight:desiredWeight size:size];
 }
 
     return [self internalFontWithFamily:desiredFamily traits:desiredTraits weight:desiredWeight size:size];
 }
 
++ (NSFont *)fontWithFamily:(NSString *)desiredFamily traits:(NSFontTraitMask)desiredTraits size:(float)size
+{
+    int desiredWeight = (desiredTraits & NSBoldFontMask) ? 9 : 5;
+    return [self fontWithFamily:desiredFamily traits:desiredTraits weight:desiredWeight size:size];
+}
+
 @end
 @end