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