2008-02-28 Mark Rowe <mrowe@apple.com>
authormrowe@apple.com <mrowe@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 29 Feb 2008 06:19:22 +0000 (06:19 +0000)
committermrowe@apple.com <mrowe@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 29 Feb 2008 06:19:22 +0000 (06:19 +0000)
        Reviewed by Dave Hyatt.

        Make use of new CGFont APIs on Leopard rather than making a WebKitSystemInterface call.

        * DerivedSources.make:  Add Tiger-only symbols to the export file when running on Tiger.
        * WebCore.Tiger.exp:  Added.  Move Tiger-only symbol here from WebCore.base.exp.
        * WebCore.base.exp:
        * platform/graphics/mac/SimpleFontDataMac.mm:
        (WebCore::SimpleFontData::platformInit):  Use Leopard APIs when building on Leopard.
        * platform/mac/WebCoreSystemInterface.h:  Don't declare wkGetFontMetrics on Leopard as it is unused.
        * platform/mac/WebCoreSystemInterface.mm:  Ditto.

2008-02-28  Mark Rowe  <mrowe@apple.com>

        Reviewed by Dave Hyatt.

        Make use of new CGFont APIs on Leopard rather than making a WebKitSystemInterface call.

        * WebKitSystemInterface.h:  Only declare WKGetFontMetrics on Tiger.
        * libWebKitSystemInterfaceLeopard.a:  Update for removal of WKGetFontMetrics.

2008-02-28  Mark Rowe  <mrowe@apple.com>

        Reviewed by Dave Hyatt.

        Make use of new CGFont APIs on Leopard rather than making a WebKitSystemInterface call.

        * WebCoreSupport/WebSystemInterface.m:
        (InitWebCoreSystemInterface): Only initialize wkGetFontMetrics on Tiger.

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

12 files changed:
WebCore/ChangeLog
WebCore/DerivedSources.make
WebCore/WebCore.Tiger.exp [new file with mode: 0644]
WebCore/WebCore.base.exp
WebCore/platform/graphics/mac/SimpleFontDataMac.mm
WebCore/platform/mac/WebCoreSystemInterface.h
WebCore/platform/mac/WebCoreSystemInterface.mm
WebKit/mac/ChangeLog
WebKit/mac/WebCoreSupport/WebSystemInterface.m
WebKitLibraries/ChangeLog
WebKitLibraries/WebKitSystemInterface.h
WebKitLibraries/libWebKitSystemInterfaceLeopard.a

index 324a584..0ff3308 100644 (file)
@@ -1,3 +1,17 @@
+2008-02-28  Mark Rowe  <mrowe@apple.com>
+
+        Reviewed by Dave Hyatt.
+
+        Make use of new CGFont APIs on Leopard rather than making a WebKitSystemInterface call.
+
+        * DerivedSources.make:  Add Tiger-only symbols to the export file when running on Tiger.
+        * WebCore.Tiger.exp:  Added.  Move Tiger-only symbol here from WebCore.base.exp.
+        * WebCore.base.exp:
+        * platform/graphics/mac/SimpleFontDataMac.mm:
+        (WebCore::SimpleFontData::platformInit):  Use Leopard APIs when building on Leopard.
+        * platform/mac/WebCoreSystemInterface.h:  Don't declare wkGetFontMetrics on Leopard as it is unused.
+        * platform/mac/WebCoreSystemInterface.mm:  Ditto.
+
 2008-02-28  Matt Lilek  <webkit@mattlilek.com>
 
         Reviewed by Tim Hatcher.
index 58fc579..0c607a1 100644 (file)
@@ -709,9 +709,14 @@ XMLNames.cpp : dom/make_names.pl xml/xmlattrs.in
        perl $< --attrs $(WebCore)/xml/xmlattrs.in \
             --namespace XML --cppNamespace WebCore --namespaceURI "http://www.w3.org/XML/1998/namespace" --output .
 
+
+ifeq ($(findstring 10.4,$(MACOSX_DEPLOYMENT_TARGET)), 10.4)
+    WEBCORE_EXPORT_DEPENDENCIES := $(WEBCORE_EXPORT_DEPENDENCIES) WebCore.Tiger.exp
+endif
+
 ifeq ($(findstring ENABLE_SVG,$(FEATURE_DEFINES)), ENABLE_SVG)
 
-WEBCORE_EXPORT_DEPENDENCIES := WebCore.SVG.exp
+WEBCORE_EXPORT_DEPENDENCIES := $(WEBCORE_EXPORT_DEPENDENCIES) WebCore.SVG.exp
 
 ifeq ($(findstring ENABLE_SVG_USE,$(FEATURE_DEFINES)), ENABLE_SVG_USE)
     SVG_FLAGS := $(SVG_FLAGS) ENABLE_SVG_USE=1
@@ -736,8 +741,8 @@ ifeq ($(findstring ENABLE_SVG_ANIMATION,$(FEATURE_DEFINES)), ENABLE_SVG_ANIMATIO
 endif
 
 ifeq ($(findstring ENABLE_SVG_FOREIGN_OBJECT,$(FEATURE_DEFINES)), ENABLE_SVG_FOREIGN_OBJECT)
-       SVG_FLAGS := $(SVG_FLAGS) ENABLE_SVG_FOREIGN_OBJECT=1
-       WEBCORE_EXPORT_DEPENDENCIES := $(WEBCORE_EXPORT_DEPENDENCIES) WebCore.SVG.ForeignObject.exp
+    SVG_FLAGS := $(SVG_FLAGS) ENABLE_SVG_FOREIGN_OBJECT=1
+    WEBCORE_EXPORT_DEPENDENCIES := $(WEBCORE_EXPORT_DEPENDENCIES) WebCore.SVG.ForeignObject.exp
 endif
 
 # SVG tag and attribute names (need to pass an extra flag if svg experimental features are enabled)
@@ -756,10 +761,6 @@ XLinkNames.cpp : dom/make_names.pl svg/xlinkattrs.in
        perl $< --attrs $(WebCore)/svg/xlinkattrs.in \
             --namespace XLink --cppNamespace WebCore --namespaceURI "http://www.w3.org/1999/xlink" --output .
 
-# Add SVG Symbols to the WebCore exported symbols file
-WebCore.exp : WebCore.base.exp $(WEBCORE_EXPORT_DEPENDENCIES)
-       cat $^ > $@
-
 else
 
 SVGElementFactory.cpp :
@@ -771,11 +772,12 @@ SVGNames.cpp :
 XLinkNames.cpp :
        echo > $@
 
-WebCore.exp : WebCore.base.exp
-       cat $^ > $@
-
 endif
 
+# Add any conditionally-included symbols to the WebCore exported symbols file
+WebCore.exp : WebCore.base.exp $(WEBCORE_EXPORT_DEPENDENCIES)
+       cat $^ > $@
+
 # new-style Objective-C bindings
 
 OBJC_BINDINGS_SCRIPTS = \
diff --git a/WebCore/WebCore.Tiger.exp b/WebCore/WebCore.Tiger.exp
new file mode 100644 (file)
index 0000000..249312e
--- /dev/null
@@ -0,0 +1 @@
+_wkGetFontMetrics
index 10582e4..36c43bb 100644 (file)
@@ -720,7 +720,6 @@ _wkGetCGFontFromNSFont
 _wkGetExtensionsForMIMEType
 _wkGetFontInLanguageForCharacter
 _wkGetFontInLanguageForRange
-_wkGetFontMetrics
 _wkGetGlyphTransformedAdvances
 _wkGetGlyphVectorFirstRecord
 _wkGetGlyphVectorNumGlyphs
index 1f45c94..7c97e8c 100644 (file)
@@ -165,7 +165,15 @@ void SimpleFontData::platformInit()
     int iAscent;
     int iDescent;
     int iLineGap;
-    wkGetFontMetrics(m_font.m_cgFont, &iAscent, &iDescent, &iLineGap, &m_unitsPerEm); 
+#ifdef BUILDING_ON_TIGER
+    wkGetFontMetrics(m_font.m_cgFont, &iAscent, &iDescent, &iLineGap, &m_unitsPerEm);
+#else
+    iAscent = CGFontGetAscent(m_font.m_cgFont);
+    iDescent = CGFontGetDescent(m_font.m_cgFont);
+    iLineGap = CGFontGetLeading(m_font.m_cgFont);
+    m_unitsPerEm = CGFontGetUnitsPerEm(m_font.m_cgFont);
+#endif
+
     float pointSize = m_font.m_size;
     float fAscent = scaleEmToUnits(iAscent, m_unitsPerEm) * pointSize;
     float fDescent = -scaleEmToUnits(iDescent, m_unitsPerEm) * pointSize;
index 8d318fe..211ee26 100644 (file)
@@ -98,7 +98,6 @@ extern OSStatus (*wkGetATSStyleGroup)(ATSUStyle, void** styleGroup);
 extern CGFontRef (*wkGetCGFontFromNSFont)(NSFont*);
 extern NSFont* (*wkGetFontInLanguageForRange)(NSFont*, NSString*, NSRange);
 extern NSFont* (*wkGetFontInLanguageForCharacter)(NSFont*, UniChar);
-extern void (*wkGetFontMetrics)(CGFontRef, int* ascent, int* descent, int* lineGap, unsigned* unitsPerEm);
 extern BOOL (*wkGetGlyphTransformedAdvances)(CGFontRef, NSFont*, CGAffineTransform*, ATSGlyphRef*, CGSize* advance);
 extern ATSLayoutRecord* (*wkGetGlyphVectorFirstRecord)(void* glyphVector);
 extern int (*wkGetGlyphVectorNumGlyphs)(void* glyphVector);
@@ -139,6 +138,11 @@ extern void (*wkSignalCFReadStreamError)(CFReadStreamRef stream, CFStreamError *
 extern void (*wkSignalCFReadStreamHasBytes)(CFReadStreamRef stream);
 extern BOOL (*wkSupportsMultipartXMixedReplace)(NSMutableURLRequest *);
 extern float (*wkSecondsSinceLastInputEvent)(void);
+
+#ifdef BUILDING_ON_TIGER
+extern void (*wkGetFontMetrics)(CGFontRef, int* ascent, int* descent, int* lineGap, unsigned* unitsPerEm);
+#endif
+
 #ifdef __cplusplus
 }
 #endif
index 64a7c2a..15c5865 100644 (file)
@@ -41,7 +41,6 @@ OSStatus (*wkGetATSStyleGroup)(ATSUStyle, void** styleGroup);
 CGFontRef (*wkGetCGFontFromNSFont)(NSFont*);
 NSFont* (*wkGetFontInLanguageForRange)(NSFont*, NSString*, NSRange);
 NSFont* (*wkGetFontInLanguageForCharacter)(NSFont*, UniChar);
-void (*wkGetFontMetrics)(CGFontRef, int* ascent, int* descent, int* lineGap, unsigned* unitsPerEm);
 BOOL (*wkGetGlyphTransformedAdvances)(CGFontRef, NSFont*, CGAffineTransform*, ATSGlyphRef*, CGSize* advance);
 ATSLayoutRecord* (*wkGetGlyphVectorFirstRecord)(void* glyphVector);
 int (*wkGetGlyphVectorNumGlyphs)(void* glyphVector);
@@ -92,3 +91,7 @@ void (*wkSetNSURLRequestShouldContentSniff)(NSMutableURLRequest *, BOOL);
 id (*wkCreateNSURLConnectionDelegateProxy)(void);
 BOOL (*wkSupportsMultipartXMixedReplace)(NSMutableURLRequest *);
 float (*wkSecondsSinceLastInputEvent)(void);
+
+#ifdef BUILDING_ON_TIGER
+void (*wkGetFontMetrics)(CGFontRef, int* ascent, int* descent, int* lineGap, unsigned* unitsPerEm);
+#endif
index a4af12c..503ec38 100644 (file)
@@ -1,3 +1,12 @@
+2008-02-28  Mark Rowe  <mrowe@apple.com>
+
+        Reviewed by Dave Hyatt.
+
+        Make use of new CGFont APIs on Leopard rather than making a WebKitSystemInterface call.
+
+        * WebCoreSupport/WebSystemInterface.m:
+        (InitWebCoreSystemInterface): Only initialize wkGetFontMetrics on Tiger.
+
 2008-02-27  Brady Eidson  <beidson@apple.com>
 
         Reviewed by Mark Rowe (code) and Darin (concept)
index fd237a6..7bf9280 100644 (file)
@@ -64,7 +64,6 @@ void InitWebCoreSystemInterface(void)
     INIT(GetExtensionsForMIMEType);
     INIT(GetFontInLanguageForCharacter);
     INIT(GetFontInLanguageForRange);
-    INIT(GetFontMetrics);
     INIT(GetGlyphTransformedAdvances);
     INIT(GetGlyphVectorFirstRecord);
     INIT(GetGlyphVectorNumGlyphs);
@@ -94,6 +93,9 @@ void InitWebCoreSystemInterface(void)
     INIT(QTMovieMaxTimeLoaded);
     INIT(QTMovieViewSetDrawSynchronously);
 
-    
+#ifdef BUILDING_ON_TIGER
+    INIT(GetFontMetrics);
+#endif
+
     didInit = true;
 }
index e92d46d..a04c5f8 100644 (file)
@@ -1,3 +1,12 @@
+2008-02-28  Mark Rowe  <mrowe@apple.com>
+
+        Reviewed by Dave Hyatt.
+
+        Make use of new CGFont APIs on Leopard rather than making a WebKitSystemInterface call.
+
+        * WebKitSystemInterface.h:  Only declare WKGetFontMetrics on Tiger.
+        * libWebKitSystemInterfaceLeopard.a:  Update for removal of WKGetFontMetrics.
+
 2008-02-27  Brady Eidson  <beidson@apple.com>
 
         Tiger build fix
index 615643b..b0e2126 100644 (file)
@@ -1,6 +1,6 @@
 /*      
     WebKitSystemInterface.h
-    Copyright (C) 2005, 2006, 2007, 2008 Apple Inc. All rights reserved.    
+    Copyright (C) 2005, 2006, 2007, 2008 Apple Inc. All rights reserved.
 
     Public header file.
 */
@@ -107,7 +107,7 @@ void WKDrawBezeledTextArea(NSRect, BOOL enabled);
 void WKPopupMenu(NSMenu*, NSPoint location, float width, NSView*, int selectedItem, NSFont*);
 
 void WKSendUserChangeNotifications(void);
-#ifndef __LP64__    
+#ifndef __LP64__
 BOOL WKConvertNSEventToCarbonEvent(EventRecord *carbonEvent, NSEvent *cocoaEvent);
 void WKSendKeyEventToTSM(NSEvent *theEvent);
 void WKCallDrawingNotification(CGrafPtr port, Rect *bounds);
@@ -115,7 +115,6 @@ void WKCallDrawingNotification(CGrafPtr port, Rect *bounds);
 
 BOOL WKGetGlyphTransformedAdvances(CGFontRef, NSFont*, CGAffineTransform *m, ATSGlyphRef *glyph, CGSize *advance);
 CGFontRef WKGetCGFontFromNSFont(NSFont *font);
-void WKGetFontMetrics(CGFontRef font, int *ascent, int *descent, int *lineGap, unsigned *unitsPerEm);
 NSFont *WKGetFontInLanguageForRange(NSFont *font, NSString *string, NSRange range);
 NSFont *WKGetFontInLanguageForCharacter(NSFont *font, UniChar ch);
 void WKSetCGFontRenderingMode(CGContextRef cgContext, NSFont *font);
@@ -123,6 +122,11 @@ ATSUFontID WKGetNSFontATSUFontId(NSFont *font);
 void WKReleaseStyleGroup(void *group);
 BOOL WKCGContextGetShouldSmoothFonts(CGContextRef cgContext);
 
+#ifdef BUILDING_ON_TIGER
+// CGFontGetAscent, CGFontGetDescent, CGFontGetLeading and CGFontGetUnitsPerEm were not available until Leopard
+void WKGetFontMetrics(CGFontRef font, int *ascent, int *descent, int *lineGap, unsigned *unitsPerEm);
+#endif
+
 void WKSetPatternBaseCTM(CGContextRef, CGAffineTransform);
 void WKSetPatternPhaseInUserSpace(CGContextRef, CGPoint);
 
index 0df606f..42e0c2e 100644 (file)
Binary files a/WebKitLibraries/libWebKitSystemInterfaceLeopard.a and b/WebKitLibraries/libWebKitSystemInterfaceLeopard.a differ