Provide tag-along for SkCreateTypefaceFromCTFont.
This provides a means of keeping an object alive for the entire
lifetime of an SkTypeface.
Review URL: https://codereview.chromium.org/1163573007
diff --git a/include/ports/SkTypeface_mac.h b/include/ports/SkTypeface_mac.h
index a59f8f7..000c7ba 100644
--- a/include/ports/SkTypeface_mac.h
+++ b/include/ports/SkTypeface_mac.h
@@ -1,4 +1,3 @@
-
/*
* Copyright 2011 Google Inc.
*
@@ -6,25 +5,25 @@
* found in the LICENSE file.
*/
-
-
#ifndef SkTypeface_mac_DEFINED
#define SkTypeface_mac_DEFINED
#include "SkTypeface.h"
-#ifdef SK_BUILD_FOR_MAC
-#import <ApplicationServices/ApplicationServices.h>
-#endif
-#ifdef SK_BUILD_FOR_IOS
+#include <CoreFoundation/CoreFoundation.h>
#include <CoreText/CoreText.h>
-#endif
+
/**
* Like the other Typeface create methods, this returns a new reference to the
* corresponding typeface for the specified CTFontRef. The caller must call
* unref() when it is finished.
+ *
+ * The CFTypeRef parameter, if provided, will be kept referenced for the
+ * lifetime of the SkTypeface. This was introduced as a means to work around
+ * https://crbug.com/413332 .
*/
-SK_API extern SkTypeface* SkCreateTypefaceFromCTFont(CTFontRef);
+SK_API extern SkTypeface* SkCreateTypefaceFromCTFont(CTFontRef, CFTypeRef = NULL);
+
/**
* Returns the platform-specific CTFontRef handle for a
* given SkTypeface. Note that the returned CTFontRef gets
@@ -36,4 +35,5 @@
* See https://code.google.com/p/skia/issues/detail?id=3408
*/
SK_API extern CTFontRef SkTypeface_GetCTFontRef(const SkTypeface* face);
+
#endif