Remove support for macOS < 10.13
authorkrollin@apple.com <krollin@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 15 Aug 2019 00:17:55 +0000 (00:17 +0000)
committerkrollin@apple.com <krollin@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 15 Aug 2019 00:17:55 +0000 (00:17 +0000)
https://bugs.webkit.org/show_bug.cgi?id=200694
<rdar://problem/54278851>

Reviewed by Youenn Fablet.

Update conditionals that reference __MAC_OS_X_VERSION_MIN_REQUIRED and
__MAC_OS_X_VERSION_MAX_ALLOWED, assuming that they both have values >=
101300. This means that expressions like
"__MAC_OS_X_VERSION_MIN_REQUIRED < 101300" are always False and
"__MAC_OS_X_VERSION_MIN_REQUIRED >= 101300" are always True.

PerformanceTests:

* StitchMarker/wtf/Platform.h:
* StitchMarker/wtf/dependencies/bmalloc/BPlatform.h:
* StitchMarker/wtf/text/icu/TextBreakIteratorICU.h:
(WTF::TextBreakIteratorICU::TextBreakIteratorICU):
(WTF::caretRules): Deleted.

Source/JavaScriptCore:

* API/WebKitAvailability.h:

Source/ThirdParty/libwebrtc:

* Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:
* WebKit/libwebrtc.diff:

Source/WebCore:

No new tests -- no added or changed functionality.

* Modules/applepay/cocoa/PaymentContactCocoa.mm:
(WebCore::subLocality):
(WebCore::setSubLocality):
(WebCore::subAdministrativeArea):
(WebCore::setSubAdministrativeArea):
* WebCorePrefix.h:
* crypto/mac/CryptoKeyRSAMac.cpp:
* editing/cocoa/WebContentReaderCocoa.mm:
* page/mac/TextIndicatorWindow.mm:
(-[WebTextIndicatorView initWithFrame:textIndicator:margin:offset:]):
* platform/PlatformScreen.h:
* platform/cocoa/NetworkExtensionContentFilter.mm:
(WebCore::NetworkExtensionContentFilter::initialize):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::seekableTimeRangesLastModifiedTime const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::liveUpdateInterval const):
* platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::FontDatabase::fontForPostScriptName):
(WebCore::variationCapabilitiesForFontDescriptor):
(WebCore::FontCache::lastResortFallbackFont):
* platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::cascadeToLastResortAndVariationsFontDescriptor):
* platform/graphics/cocoa/GraphicsContext3DCocoa.mm:
(WebCore::setGPUByRegistryID):
(WebCore::GraphicsContext3D::GraphicsContext3D):
(WebCore::GraphicsContext3D::screenDidChange):
(WebCore::setGPUByDisplayMask): Deleted.
* platform/graphics/cv/VideoTextureCopierCV.cpp:
* platform/graphics/gpu/cocoa/GPUDeviceMetal.mm:
(WebCore::isAcceptableDevice):
* platform/graphics/mac/FontCacheMac.mm:
(WebCore::platformFontWithFamilySpecialCase):
* platform/graphics/mac/FontCustomPlatformData.cpp:
(WebCore::createFontCustomPlatformData):
* platform/mac/DragImageMac.mm:
(WebCore::LinkImageLayout::LinkImageLayout):
(WebCore::createDragImageForLink):
* platform/mac/PlatformScreenMac.mm:
(WebCore::collectScreenProperties):
(WebCore::gpuIDForDisplayMask):
* platform/mac/WebPlaybackControlsManager.h:
* platform/mac/WebPlaybackControlsManager.mm:
(toAVTouchBarMediaSelectionOptionType):
(mediaSelectionOptions):
(-[WebPlaybackControlsManager generateFunctionBarThumbnailsForTimes:size:completionHandler:]): Deleted.
(-[WebPlaybackControlsManager generateFunctionBarAudioAmplitudeSamples:completionHandler:]): Deleted.
(-[WebPlaybackControlsManager canBeginFunctionBarScrubbing]): Deleted.
(-[WebPlaybackControlsManager beginFunctionBarScrubbing]): Deleted.
(-[WebPlaybackControlsManager endFunctionBarScrubbing]): Deleted.
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::platformActiveTextSearchHighlightColor const):
(WebCore::RenderThemeMac::systemColor const):

Source/WebCore/PAL:

* pal/spi/cf/CFNetworkSPI.h:
* pal/spi/cocoa/AVKitSPI.h:
* pal/spi/cocoa/CommonCryptoSPI.h:
* pal/spi/cocoa/IOSurfaceSPI.h:
* pal/spi/cocoa/NEFilterSourceSPI.h:
* pal/spi/cocoa/NSAttributedStringSPI.h:
* pal/spi/cocoa/NSKeyedArchiverSPI.h:
* pal/spi/cocoa/NSTouchBarSPI.h:
* pal/spi/cocoa/PassKitSPI.h:
* pal/spi/mac/AVFoundationSPI.h:

Source/WebKit:

* NetworkProcess/Downloads/cocoa/WKDownloadProgress.mm:
(-[WKDownloadProgress initWithDownloadTask:download:URL:sandboxExtension:]):
* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:task:didFinishCollectingMetrics:]):
* Shared/WebPreferencesDefaultValues.cpp:
(WebKit::defaultCustomPasteboardDataEnabled):
* Shared/WebPreferencesDefaultValues.h:
* Shared/mac/AuxiliaryProcessMac.mm:
* UIProcess/Cocoa/WebViewImpl.h:
* UIProcess/Cocoa/WebViewImpl.mm:
(-[WKTextTouchBarItemController itemForIdentifier:]):
(WebKit::WebViewImpl::mediaPlaybackControlsView const):
(WebKit::WebViewImpl::updateMediaTouchBar):
* UIProcess/mac/WebColorPickerMac.mm:
* WebProcess/Plugins/PDF/PDFLayerControllerSPI.h:
* WebProcess/Plugins/PDF/PDFPlugin.h:
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(-[WKPDFPluginAccessibilityObject setPdfLayerController:]):
(-[WKPDFPluginAccessibilityObject accessibilityAttributeValue:]):
(-[WKPDFPluginAccessibilityObject ALLOW_DEPRECATED_IMPLEMENTATIONS_END]):
(-[WKPDFPluginAccessibilityObject accessibilityFocusedUIElement]):
(-[WKPDFPluginAccessibilityObject accessibilityAssociatedControlForAnnotation:]):
(-[WKPDFPluginAccessibilityObject accessibilityHitTest:]):
(WebKit::PDFPlugin::pdfDocumentDidLoad):
(WebKit::PDFPlugin::handleMouseEvent):
(WebKit::PDFPlugin::handleMouseEnterEvent):
(WebKit::PDFPlugin::handleContextMenuEvent):
(WebKit::PDFPlugin::pluginHandlesContentOffsetForAccessibilityHitTest const):
(WebKit::PDFPlugin::accessibilityAssociatedPluginParentForElement const):
(WebKit::PDFPlugin::updateCursor): Deleted.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):

Source/WebKitLegacy/mac:

* WebCoreSupport/WebEditorClient.mm:
* WebView/PDFViewSPI.h:
* WebView/WebHTMLView.mm:
(-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:stopAtLayerBackedViews:_recursive:displayRectIgnoringOpacity:inContext:shouldChangeFontReferenceColor:stopAtLayerBackedViews:_recursive:displayRectIgnoringOpacity:inContext:shouldChangeFontReferenceColor:]):
(-[WebHTMLView _recursive:displayRectIgnoringOpacity:inGraphicsContext:shouldChangeFontReferenceColor:]):
(-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:stopAtLayerBackedViews:_recursive:displayRectIgnoringOpacity:inContext:shouldChangeFontReferenceColor:stopAtLayerBackedViews:_recursive:displayRectIgnoringOpacity:inContext:shouldChangeFontReferenceColor:_recursive:displayRectIgnoringOpacity:inContext:topView:]): Deleted.
(-[WebHTMLView _recursive:displayRectIgnoringOpacity:inGraphicsContext:shouldChangeFontReferenceColor:_recursive:displayRectIgnoringOpacity:inGraphicsContext:CGContext:topView:shouldChangeFontReferenceColor:]): Deleted.
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
* WebView/WebView.mm:
(-[WebView performDragOperation:]):
(LayerFlushController::flushLayers):
(-[WebView updateMediaTouchBar]):
* WebView/WebViewData.h:

Source/WTF:

* wtf/FeatureDefines.h:
* wtf/Platform.h:
* wtf/mac/AppKitCompatibilityDeclarations.h:
* wtf/spi/darwin/SandboxSPI.h:

Tools:

* MiniBrowser/AppKitCompatibilityDeclarations.h:
* MiniBrowser/mac/SettingsController.m:
(-[SettingsController init]):
* TestWebKitAPI/Tests/WebCore/FontCache.cpp:
(TestWebKitAPI::FontCacheTest::SetUp): Deleted.
(TestWebKitAPI::createPlatformFont): Deleted.
(TestWebKitAPI::compareFonts): Deleted.
(TestWebKitAPI::TEST_F): Deleted.
* TestWebKitAPI/Tests/WebCore/cocoa/AVFoundationSoftLinkTest.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/ExitFullscreenOnEnterPiP.mm:
* TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(runWebsiteDataStoreCustomPaths):
* TestWebKitAPI/mac/NSFontPanelTesting.mm:

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

76 files changed:
PerformanceTests/ChangeLog
PerformanceTests/StitchMarker/wtf/Platform.h
PerformanceTests/StitchMarker/wtf/dependencies/bmalloc/BPlatform.h
PerformanceTests/StitchMarker/wtf/text/icu/TextBreakIteratorICU.h
Source/JavaScriptCore/API/WebKitAvailability.h
Source/JavaScriptCore/ChangeLog
Source/ThirdParty/libwebrtc/ChangeLog
Source/ThirdParty/libwebrtc/Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h
Source/ThirdParty/libwebrtc/WebKit/libwebrtc.diff
Source/WTF/ChangeLog
Source/WTF/wtf/FeatureDefines.h
Source/WTF/wtf/Platform.h
Source/WTF/wtf/mac/AppKitCompatibilityDeclarations.h
Source/WTF/wtf/spi/darwin/SandboxSPI.h
Source/WebCore/ChangeLog
Source/WebCore/Modules/applepay/cocoa/PaymentContactCocoa.mm
Source/WebCore/PAL/ChangeLog
Source/WebCore/PAL/pal/spi/cf/CFNetworkSPI.h
Source/WebCore/PAL/pal/spi/cocoa/AVKitSPI.h
Source/WebCore/PAL/pal/spi/cocoa/CommonCryptoSPI.h
Source/WebCore/PAL/pal/spi/cocoa/IOSurfaceSPI.h
Source/WebCore/PAL/pal/spi/cocoa/NEFilterSourceSPI.h
Source/WebCore/PAL/pal/spi/cocoa/NSAttributedStringSPI.h
Source/WebCore/PAL/pal/spi/cocoa/NSKeyedArchiverSPI.h
Source/WebCore/PAL/pal/spi/cocoa/NSTouchBarSPI.h
Source/WebCore/PAL/pal/spi/cocoa/PassKitSPI.h
Source/WebCore/PAL/pal/spi/mac/AVFoundationSPI.h
Source/WebCore/WebCorePrefix.h
Source/WebCore/crypto/mac/CryptoKeyRSAMac.cpp
Source/WebCore/editing/cocoa/WebContentReaderCocoa.mm
Source/WebCore/page/mac/TextIndicatorWindow.mm
Source/WebCore/platform/PlatformScreen.h
Source/WebCore/platform/cocoa/NetworkExtensionContentFilter.mm
Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm
Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp
Source/WebCore/platform/graphics/cocoa/FontPlatformDataCocoa.mm
Source/WebCore/platform/graphics/cocoa/GraphicsContext3DCocoa.mm
Source/WebCore/platform/graphics/cv/VideoTextureCopierCV.cpp
Source/WebCore/platform/graphics/gpu/cocoa/GPUDeviceMetal.mm
Source/WebCore/platform/graphics/mac/FontCacheMac.mm
Source/WebCore/platform/graphics/mac/FontCustomPlatformData.cpp
Source/WebCore/platform/mac/DragImageMac.mm
Source/WebCore/platform/mac/PlatformScreenMac.mm
Source/WebCore/platform/mac/WebPlaybackControlsManager.h
Source/WebCore/platform/mac/WebPlaybackControlsManager.mm
Source/WebCore/rendering/RenderThemeMac.mm
Source/WebKit/ChangeLog
Source/WebKit/NetworkProcess/Downloads/cocoa/WKDownloadProgress.mm
Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm
Source/WebKit/Shared/WebPreferencesDefaultValues.cpp
Source/WebKit/Shared/WebPreferencesDefaultValues.h
Source/WebKit/Shared/mac/AuxiliaryProcessMac.mm
Source/WebKit/UIProcess/Cocoa/WebViewImpl.h
Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm
Source/WebKit/UIProcess/mac/WebColorPickerMac.mm
Source/WebKit/WebProcess/Plugins/PDF/PDFLayerControllerSPI.h
Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.h
Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.mm
Source/WebKit/WebProcess/WebProcess.cpp
Source/WebKitLegacy/mac/ChangeLog
Source/WebKitLegacy/mac/WebCoreSupport/WebEditorClient.mm
Source/WebKitLegacy/mac/WebView/PDFViewSPI.h
Source/WebKitLegacy/mac/WebView/WebHTMLView.mm
Source/WebKitLegacy/mac/WebView/WebPreferences.mm
Source/WebKitLegacy/mac/WebView/WebView.mm
Source/WebKitLegacy/mac/WebView/WebViewData.h
Tools/ChangeLog
Tools/MiniBrowser/AppKitCompatibilityDeclarations.h
Tools/MiniBrowser/mac/SettingsController.m
Tools/TestWebKitAPI/Tests/WebCore/FontCache.cpp
Tools/TestWebKitAPI/Tests/WebCore/cocoa/AVFoundationSoftLinkTest.mm
Tools/TestWebKitAPI/Tests/WebKitCocoa/ExitFullscreenOnEnterPiP.mm
Tools/TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm
Tools/TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm
Tools/TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm
Tools/TestWebKitAPI/mac/NSFontPanelTesting.mm

index d334ae1..01d9351 100644 (file)
@@ -1,3 +1,23 @@
+2019-08-14  Keith Rollin  <krollin@apple.com>
+
+        Remove support for macOS < 10.13
+        https://bugs.webkit.org/show_bug.cgi?id=200694
+        <rdar://problem/54278851>
+
+        Reviewed by Youenn Fablet.
+
+        Update conditionals that reference __MAC_OS_X_VERSION_MIN_REQUIRED and
+        __MAC_OS_X_VERSION_MAX_ALLOWED, assuming that they both have values >=
+        101300. This means that expressions like
+        "__MAC_OS_X_VERSION_MIN_REQUIRED < 101300" are always False and
+        "__MAC_OS_X_VERSION_MIN_REQUIRED >= 101300" are always True.
+
+        * StitchMarker/wtf/Platform.h:
+        * StitchMarker/wtf/dependencies/bmalloc/BPlatform.h:
+        * StitchMarker/wtf/text/icu/TextBreakIteratorICU.h:
+        (WTF::TextBreakIteratorICU::TextBreakIteratorICU):
+        (WTF::caretRules): Deleted.
+
 2019-08-06  Michael Saboff  <msaboff@apple.com>
 
         Make JSC memory benchmark available on OpenSource
index 072bb9b..60be8f3 100644 (file)
 
 #if PLATFORM(MAC)
 
-#if __MAC_OS_X_VERSION_MIN_REQUIRED < 101200
-#define USE_QTKIT 1
-#else
 #define USE_QTKIT 0
-#endif
 
 #define USE_APPKIT 1
 #define HAVE_RUNLOOP_TIMER 1
 
 #endif /* OS(DARWIN) */
 
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101200) || PLATFORM(IOS)
+#if PLATFORM(MAC) || PLATFORM(IOS)
 #define HAVE_CFNETWORK_STORAGE_PARTITIONING 1
 #endif
 
 #endif
 
 /* FIXME: Enable USE_OS_LOG when building with the public iOS 10 SDK once we fix <rdar://problem/27758343>. */
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101200) || (PLATFORM(IOS) && USE(APPLE_INTERNAL_SDK))
+#if PLATFORM(MAC) || (PLATFORM(IOS) && USE(APPLE_INTERNAL_SDK))
 #define USE_OS_LOG 1
 #if USE(APPLE_INTERNAL_SDK)
 #define USE_OS_STATE 1
 #endif
 #endif
 
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101200) || PLATFORM(IOS)
+#if PLATFORM(MAC) || PLATFORM(IOS)
 #define HAVE_SEC_TRUST_SERIALIZATION 1
 #endif
 
 #endif
 #endif
 
-#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101200
+#if PLATFORM(MAC)
 #define USE_MEDIAREMOTE 1
 #endif
 
 #pragma strict_gs_check(on)
 #endif
 
-#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MAX_ALLOWED >= 101201 && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101200
+#if PLATFORM(MAC)
 #define HAVE_TOUCH_BAR 1
 #define HAVE_ADVANCED_SPELL_CHECKING 1
 
 #if defined(__LP64__)
 #define ENABLE_WEB_PLAYBACK_CONTROLS_MANAGER 1
 #endif
-#endif /* PLATFORM(MAC) && __MAC_OS_X_VERSION_MAX_ALLOWED >= 101201 && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101200 */
+#endif
 
 #if PLATFORM(COCOA) && ENABLE(WEB_RTC)
 #define USE_LIBWEBRTC 1
 #endif
 
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300) || (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000) || USE(GCRYPT)
+#if PLATFORM(MAC) || (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000) || USE(GCRYPT)
 #define HAVE_RSA_PSS 1
 #endif
 
index d479f40..2bd70bc 100644 (file)
 
 #define BATTRIBUTE_PRINTF(formatStringArgument, extraArguments) __attribute__((__format__(printf, formatStringArgument, extraArguments)))
 
-#if (BPLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101200) || BPLATFORM(IOS)
+#if BPLATFORM(MAC) || BPLATFORM(IOS)
 #define BUSE_OS_LOG 1
 #endif
index 308e40e..5127388 100644 (file)
 #include <wtf/Optional.h>
 #include <wtf/text/icu/UTextProviderLatin1.h>
 
-#define USE_ICU_CARET_ITERATOR (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101200)
-
 namespace WTF {
 
-#if USE_ICU_CARET_ITERATOR
-static String caretRules()
-{
-    static StaticStringImpl caretRuleString(
-        // This rule set is based on character-break iterator rules of ICU 57
-        // <http://source.icu-project.org/repos/icu/icu/tags/release-57-1/source/data/brkitr/>.
-        // The major differences from the original ones are listed below:
-        // * Replaced '[\p{Grapheme_Cluster_Break = SpacingMark}]' with '[\p{General_Category = Spacing Mark} - $Extend]' for ICU 3.8 or earlier;
-        // * Removed rules that prevent a caret from moving after prepend characters (Bug 24342);
-        // * Added rules that prevent a caret from moving after virama signs of Indic languages except Tamil (Bug 15790), and;
-        // * Added rules that prevent a caret from moving before Japanese half-width katakara voiced marks.
-        // * Added rules for regional indicator symbols.
-        "$CR      = [\\p{Grapheme_Cluster_Break = CR}];"
-        "$LF      = [\\p{Grapheme_Cluster_Break = LF}];"
-        "$Control = [\\p{Grapheme_Cluster_Break = Control}];"
-        "$VoiceMarks = [\\uFF9E\\uFF9F];" // Japanese half-width katakana voiced marks
-        "$Extend  = [\\p{Grapheme_Cluster_Break = Extend} $VoiceMarks - [\\u0E30 \\u0E32 \\u0E45 \\u0EB0 \\u0EB2]];"
-        "$SpacingMark = [[\\p{General_Category = Spacing Mark}] - $Extend];"
-        "$L       = [\\p{Grapheme_Cluster_Break = L}];"
-        "$V       = [\\p{Grapheme_Cluster_Break = V}];"
-        "$T       = [\\p{Grapheme_Cluster_Break = T}];"
-        "$LV      = [\\p{Grapheme_Cluster_Break = LV}];"
-        "$LVT     = [\\p{Grapheme_Cluster_Break = LVT}];"
-        "$Hin0    = [\\u0905-\\u0939];" // Devanagari Letter A,...,Ha
-        "$HinV    = \\u094D;" // Devanagari Sign Virama
-        "$Hin1    = [\\u0915-\\u0939];" // Devanagari Letter Ka,...,Ha
-        "$Ben0    = [\\u0985-\\u09B9];" // Bengali Letter A,...,Ha
-        "$BenV    = \\u09CD;" // Bengali Sign Virama
-        "$Ben1    = [\\u0995-\\u09B9];" // Bengali Letter Ka,...,Ha
-        "$Pan0    = [\\u0A05-\\u0A39];" // Gurmukhi Letter A,...,Ha
-        "$PanV    = \\u0A4D;" // Gurmukhi Sign Virama
-        "$Pan1    = [\\u0A15-\\u0A39];" // Gurmukhi Letter Ka,...,Ha
-        "$Guj0    = [\\u0A85-\\u0AB9];" // Gujarati Letter A,...,Ha
-        "$GujV    = \\u0ACD;" // Gujarati Sign Virama
-        "$Guj1    = [\\u0A95-\\u0AB9];" // Gujarati Letter Ka,...,Ha
-        "$Ori0    = [\\u0B05-\\u0B39];" // Oriya Letter A,...,Ha
-        "$OriV    = \\u0B4D;" // Oriya Sign Virama
-        "$Ori1    = [\\u0B15-\\u0B39];" // Oriya Letter Ka,...,Ha
-        "$Tel0    = [\\u0C05-\\u0C39];" // Telugu Letter A,...,Ha
-        "$TelV    = \\u0C4D;" // Telugu Sign Virama
-        "$Tel1    = [\\u0C14-\\u0C39];" // Telugu Letter Ka,...,Ha
-        "$Kan0    = [\\u0C85-\\u0CB9];" // Kannada Letter A,...,Ha
-        "$KanV    = \\u0CCD;" // Kannada Sign Virama
-        "$Kan1    = [\\u0C95-\\u0CB9];" // Kannada Letter A,...,Ha
-        "$Mal0    = [\\u0D05-\\u0D39];" // Malayalam Letter A,...,Ha
-        "$MalV    = \\u0D4D;" // Malayalam Sign Virama
-        "$Mal1    = [\\u0D15-\\u0D39];" // Malayalam Letter A,...,Ha
-        "$RI      = [\\U0001F1E6-\\U0001F1FF];" // Emoji regional indicators
-        "$ZWJ     = \\u200D;" // Zero width joiner
-        "$EmojiVar = [\\uFE0F];" // Emoji-style variation selector
-        "$EmojiForSeqs = [\\u2640 \\u2642 \\u26F9 \\u2764 \\U0001F308 \\U0001F3C3-\\U0001F3C4 \\U0001F3CA-\\U0001F3CC \\U0001F3F3 \\U0001F441 \\U0001F466-\\U0001F469 \\U0001F46E-\\U0001F46F \\U0001F471 \\U0001F473 \\U0001F477 \\U0001F481-\\U0001F482 \\U0001F486-\\U0001F487 \\U0001F48B \\U0001F575 \\U0001F5E8 \\U0001F645-\\U0001F647 \\U0001F64B \\U0001F64D-\\U0001F64E \\U0001F6A3 \\U0001F6B4-\\U0001F6B6 \\u2695-\\u2696 \\u2708 \\U0001F33E \\U0001F373 \\U0001F393 \\U0001F3A4 \\U0001F3A8 \\U0001F3EB \\U0001F3ED \\U0001F4BB-\\U0001F4BC \\U0001F527 \\U0001F52C \\U0001F680 \\U0001F692 \\U0001F926 \\U0001F937-\\U0001F939 \\U0001F93C-\\U0001F93E];" // Emoji that participate in ZWJ sequences
-        "$EmojiForMods = [\\u261D \\u26F9 \\u270A-\\u270D \\U0001F385 \\U0001F3C3-\\U0001F3C4 \\U0001F3CA \\U0001F3CB \\U0001F442-\\U0001F443 \\U0001F446-\\U0001F450 \\U0001F466-\\U0001F478 \\U0001F47C \\U0001F481-\\U0001F483 \\U0001F485-\\U0001F487 \\U0001F4AA \\U0001F575 \\U0001F590 \\U0001F595 \\U0001F596 \\U0001F645-\\U0001F647 \\U0001F64B-\\U0001F64F \\U0001F6A3 \\U0001F6B4-\\U0001F6B6 \\U0001F6C0 \\U0001F918 \\U0001F3C2 \\U0001F3C7 \\U0001F3CC \\U0001F574 \\U0001F57A \\U0001F6CC \\U0001F919-\\U0001F91E \\U0001F926 \\U0001F930 \\U0001F933-\\U0001F939 \\U0001F93C-\\U0001F93E] ;" // Emoji that take Fitzpatrick modifiers
-        "$EmojiMods = [\\U0001F3FB-\\U0001F3FF];" // Fitzpatrick modifiers
-        "!!chain;"
-        "!!RINoChain;"
-        "!!forward;"
-        "$CR $LF;"
-        "$L ($L | $V | $LV | $LVT);"
-        "($LV | $V) ($V | $T);"
-        "($LVT | $T) $T;"
-        "$RI $RI $Extend* / $RI;"
-        "$RI $RI $Extend*;"
-        "[^$Control $CR $LF] $Extend;"
-        "[^$Control $CR $LF] $SpacingMark;"
-        "$Hin0 $HinV $Hin1;" // Devanagari Virama (forward)
-        "$Ben0 $BenV $Ben1;" // Bengali Virama (forward)
-        "$Pan0 $PanV $Pan1;" // Gurmukhi Virama (forward)
-        "$Guj0 $GujV $Guj1;" // Gujarati Virama (forward)
-        "$Ori0 $OriV $Ori1;" // Oriya Virama (forward)
-        "$Tel0 $TelV $Tel1;" // Telugu Virama (forward)
-        "$Kan0 $KanV $Kan1;" // Kannada Virama (forward)
-        "$Mal0 $MalV $Mal1;" // Malayalam Virama (forward)
-        "$ZWJ $EmojiForSeqs;" // Don't break in emoji ZWJ sequences
-        "$EmojiForMods $EmojiVar? $EmojiMods;" // Don't break between relevant emoji (possibly with variation selector) and Fitzpatrick modifier
-        "!!reverse;"
-        "$LF $CR;"
-        "($L | $V | $LV | $LVT) $L;"
-        "($V | $T) ($LV | $V);"
-        "$T ($LVT | $T);"
-        "$Extend* $RI $RI / $Extend* $RI $RI;"
-        "$Extend* $RI $RI;"
-        "$Extend      [^$Control $CR $LF];"
-        "$SpacingMark [^$Control $CR $LF];"
-        "$Hin1 $HinV $Hin0;" // Devanagari Virama (backward)
-        "$Ben1 $BenV $Ben0;" // Bengali Virama (backward)
-        "$Pan1 $PanV $Pan0;" // Gurmukhi Virama (backward)
-        "$Guj1 $GujV $Guj0;" // Gujarati Virama (backward)
-        "$Ori1 $OriV $Ori0;" // Gujarati Virama (backward)
-        "$Tel1 $TelV $Tel0;" // Telugu Virama (backward)
-        "$Kan1 $KanV $Kan0;" // Kannada Virama (backward)
-        "$Mal1 $MalV $Mal0;" // Malayalam Virama (backward)
-        "$EmojiForSeqs $ZWJ;" // Don't break in emoji ZWJ sequences
-        "$EmojiMods $EmojiVar? $EmojiForMods;" // Don't break between relevant emoji (possibly with variation selector) and Fitzpatrick modifier
-        "!!safe_reverse;"
-        "$RI $RI+;"
-        "[$EmojiVar $EmojiMods]+ $EmojiForMods;"
-        "!!safe_forward;"
-        "$RI $RI+;"
-        "$EmojiForMods [$EmojiVar $EmojiMods]+;"
-    );
-    return caretRuleString;
-}
-#endif
-
 class TextBreakIteratorICU {
 public:
     enum class Mode {
         Line,
         Character,
-#if USE_ICU_CARET_ITERATOR
-        Caret,
-#endif
     };
 
     void set8BitText(const LChar* buffer, unsigned length)
@@ -170,11 +61,6 @@ public:
         case Mode::Character:
             type = UBRK_CHARACTER;
             break;
-#if USE_ICU_CARET_ITERATOR
-        case Mode::Caret:
-            type = UBRK_CHARACTER;
-            break;
-#endif
         default:
             ASSERT_NOT_REACHED();
             type = UBRK_CHARACTER;
@@ -188,15 +74,7 @@ public:
 
         // FIXME: Handle weak / normal / strict line breaking.
         UErrorCode status = U_ZERO_ERROR;
-#if USE_ICU_CARET_ITERATOR
-        if (mode == Mode::Caret) {
-            static NeverDestroyed<String> caretRules = WTF::caretRules();
-            static NeverDestroyed<StringView::UpconvertedCharacters> upconvertedRules = StringView(caretRules).upconvertedCharacters();
-            UParseError parseError;
-            m_iterator = ubrk_openRules(upconvertedRules.get(), caretRules.get().length(), text, textLength, &parseError, &status);
-        } else
-#endif
-            m_iterator = ubrk_open(type, locale, text, textLength, &status);
+        m_iterator = ubrk_open(type, locale, text, textLength, &status);
         ASSERT(U_SUCCESS(status));
 
         if (requiresSet8BitText)
index 0f6afb6..2a1ce7c 100644 (file)
 #include <AvailabilityMacros.h>
 #include <CoreFoundation/CoreFoundation.h>
 
-#if !TARGET_OS_IPHONE && __MAC_OS_X_VERSION_MIN_REQUIRED < 101100
-/* To support availability macros that mention newer OS X versions when building on older OS X versions,
-   we provide our own definitions of the underlying macros that the availability macros expand to. We're
-   free to expand the macros as no-ops since frameworks built on older OS X versions only ship bundled with
-   an application rather than as part of the system.
-*/
-
-#ifndef __NSi_10_10 // Building from trunk rather than SDK.
-#define __NSi_10_10 introduced=10.0 // Use 10.0 to indicate that everything is available.
-#endif
-
-#ifndef __NSi_10_11 // Building from trunk rather than SDK.
-#define __NSi_10_11 introduced=10.0 // Use 10.0 to indicate that everything is available.
-#endif
-
-#ifndef __NSi_10_12 // Building from trunk rather than SDK.
-#define __NSi_10_12 introduced=10.0 // Use 10.0 to indicate that everything is available.
-#endif
-
-#ifndef __AVAILABILITY_INTERNAL__MAC_10_9
-#define __AVAILABILITY_INTERNAL__MAC_10_9
-#endif
-
-#ifndef __AVAILABILITY_INTERNAL__MAC_10_10
-#define __AVAILABILITY_INTERNAL__MAC_10_10
-#endif
-
-#ifndef AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER
-#define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER
-#endif
-
-#ifndef AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER
-#define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER
-#endif
-
-#endif /* !TARGET_OS_IPHONE && __MAC_OS_X_VERSION_MIN_REQUIRED < 101100 */
-
 #if defined(BUILDING_GTK__)
 #undef JSC_API_AVAILABLE
 #define JSC_API_AVAILABLE(...)
index 2458615..d3e4c3c 100644 (file)
@@ -1,3 +1,19 @@
+2019-08-14  Keith Rollin  <krollin@apple.com>
+
+        Remove support for macOS < 10.13
+        https://bugs.webkit.org/show_bug.cgi?id=200694
+        <rdar://problem/54278851>
+
+        Reviewed by Youenn Fablet.
+
+        Update conditionals that reference __MAC_OS_X_VERSION_MIN_REQUIRED and
+        __MAC_OS_X_VERSION_MAX_ALLOWED, assuming that they both have values >=
+        101300. This means that expressions like
+        "__MAC_OS_X_VERSION_MIN_REQUIRED < 101300" are always False and
+        "__MAC_OS_X_VERSION_MIN_REQUIRED >= 101300" are always True.
+
+        * API/WebKitAvailability.h:
+
 2019-08-14  Mark Lam  <mark.lam@apple.com>
 
         Missing exception check in string compare.
index 9e12f1b..0814144 100644 (file)
@@ -1,3 +1,20 @@
+2019-08-14  Keith Rollin  <krollin@apple.com>
+
+        Remove support for macOS < 10.13
+        https://bugs.webkit.org/show_bug.cgi?id=200694
+        <rdar://problem/54278851>
+
+        Reviewed by Youenn Fablet.
+
+        Update conditionals that reference __MAC_OS_X_VERSION_MIN_REQUIRED and
+        __MAC_OS_X_VERSION_MAX_ALLOWED, assuming that they both have values >=
+        101300. This means that expressions like
+        "__MAC_OS_X_VERSION_MIN_REQUIRED < 101300" are always False and
+        "__MAC_OS_X_VERSION_MIN_REQUIRED >= 101300" are always True.
+
+        * Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:
+        * WebKit/libwebrtc.diff:
+
 2019-08-13  Youenn Fablet  <youenn@apple.com>
 
         User Agent and SessionID should be given to NetworkRTCProvider to set up the correct proxy information
index f9c1f3c..c48d87e 100644 (file)
@@ -40,7 +40,7 @@
 #define ENABLE_VCP_ENCODER 1
 #define ENABLE_VCP_VTB_ENCODER __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500
 #elif (defined(TARGET_OS_MAC) && TARGET_OS_MAC)
-#define ENABLE_VCP_ENCODER __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
+#define ENABLE_VCP_ENCODER 1
 #define ENABLE_VCP_VTB_ENCODER __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500
 #endif
 
index 92428e4..3092116 100644 (file)
@@ -839,7 +839,7 @@ index 00000000000..cf866d8a8db
 +#elif (defined(TARGET_OS_IPHONE)  && TARGET_OS_IPHONE)
 +#define ENABLE_VCP_ENCODER 1
 +#elif (defined(TARGET_OS_MAC) && TARGET_OS_MAC)
-+#define ENABLE_VCP_ENCODER (__MAC_OS_X_VERSION_MIN_REQUIRED >= 101300 && __MAC_OS_X_VERSION_MAX_ALLOWED >= 101304)
++#define ENABLE_VCP_ENCODER 1
 +#endif
 +
 +#endif
index 83ebc49..f4adeb3 100644 (file)
@@ -1,3 +1,22 @@
+2019-08-14  Keith Rollin  <krollin@apple.com>
+
+        Remove support for macOS < 10.13
+        https://bugs.webkit.org/show_bug.cgi?id=200694
+        <rdar://problem/54278851>
+
+        Reviewed by Youenn Fablet.
+
+        Update conditionals that reference __MAC_OS_X_VERSION_MIN_REQUIRED and
+        __MAC_OS_X_VERSION_MAX_ALLOWED, assuming that they both have values >=
+        101300. This means that expressions like
+        "__MAC_OS_X_VERSION_MIN_REQUIRED < 101300" are always False and
+        "__MAC_OS_X_VERSION_MIN_REQUIRED >= 101300" are always True.
+
+        * wtf/FeatureDefines.h:
+        * wtf/Platform.h:
+        * wtf/mac/AppKitCompatibilityDeclarations.h:
+        * wtf/spi/darwin/SandboxSPI.h:
+
 2019-08-14  Yusuke Suzuki  <ysuzuki@apple.com>
 
         [JSC] Less contended MetaAllocator
index 152a143..d3196bc 100644 (file)
@@ -296,16 +296,12 @@ the public iOS SDK. See <https://webkit.org/b/179167>. */
 #endif
 
 #if !defined(HAVE_PASSKIT_GRANULAR_ERRORS)
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
 #define HAVE_PASSKIT_GRANULAR_ERRORS 1
 #endif
-#endif
 
 #if !defined(HAVE_PASSKIT_API_TYPE)
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300 && __MAC_OS_X_VERSION_MAX_ALLOWED >= 101304
 #define HAVE_PASSKIT_API_TYPE 1
 #endif
-#endif
 
 #if !defined(HAVE_PASSKIT_BOUND_INTERFACE_IDENTIFIER)
 #if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
index 84d49fd..138e970 100644 (file)
 #define USE_LIBWEBRTC 1
 #endif
 
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300) || PLATFORM(IOS) || PLATFORM(MACCATALYST) || USE(GCRYPT)
+#if PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(MACCATALYST) || USE(GCRYPT)
 #define HAVE_RSA_PSS 1
 #endif
 
 #define HAVE_STACK_BOUNDS_FOR_NEW_THREAD 1
 #endif
 
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300) || PLATFORM(IOS) || PLATFORM(MACCATALYST)
+#if PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(MACCATALYST)
 #define HAVE_AVCONTENTKEYSESSION 1
 #endif
 
 #define HAVE_NSHTTPCOOKIESTORAGE__INITWITHIDENTIFIER_WITH_INACCURATE_NULLABILITY 1
 #endif
 
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MAX_ALLOWED >= 101302 && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300) || PLATFORM(IOS_FAMILY)
+#if PLATFORM(MAC) || PLATFORM(IOS_FAMILY)
 #define HAVE_CFNETWORK_WITH_CONTENT_ENCODING_SNIFFING_OVERRIDE 1
 /* The override isn't needed on iOS family, as the default behavior is to not sniff. */
 /* FIXME: This should probably be enabled on 10.13.2 and newer, not just 10.14 and newer. */
 #endif
 #endif
 
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MAX_ALLOWED >= 101302 && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300) || PLATFORM(IOS_FAMILY)
+#if PLATFORM(MAC) || PLATFORM(IOS_FAMILY)
 #define HAVE_CFNETWORK_WITH_IGNORE_HSTS 1
 #endif
 
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300 && __MAC_OS_X_VERSION_MAX_ALLOWED >= 101302) || PLATFORM(IOS_FAMILY)
+#if PLATFORM(MAC) || PLATFORM(IOS_FAMILY)
 #define HAVE_CFNETWORK_WITH_AUTO_ADDED_HTTP_HEADER_SUPPRESSION_SUPPORT 1
 /* FIXME: Does this work, and is this needed on other iOS family platforms? */
 #if PLATFORM(MAC) || PLATFORM(IOS)
 #define HAVE_SAFARI_SERVICES_FRAMEWORK 1
 #endif
 
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300 && !defined(__i386__)) || PLATFORM(IOS) || PLATFORM(WATCHOS)
+#if (PLATFORM(MAC) && !defined(__i386__)) || PLATFORM(IOS) || PLATFORM(WATCHOS)
 #define HAVE_SAFE_BROWSING 1
 #endif
 
 #define HAVE_AUTHORIZATION_STATUS_FOR_MEDIA_TYPE 1
 #endif
 
-#if (PLATFORM(MAC) && (__MAC_OS_X_VERSION_MIN_REQUIRED == 101200 || (__MAC_OS_X_VERSION_MIN_REQUIRED >= 101400 && __MAC_OS_X_VERSION_MAX_ALLOWED >= 101404))) || (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 120000 && __IPHONE_OS_VERSION_MAX_ALLOWED >= 120200) || (PLATFORM(WATCHOS) && __WATCH_OS_VERSION_MIN_REQUIRED >= 50000 && __WATCH_OS_VERSION_MAX_ALLOWED >= 50200) || (PLATFORM(APPLETV) && __TV_OS_VERSION_MIN_REQUIRED >= 120000 && __TV_OS_VERSION_MAX_ALLOWED >= 120200)
+#if (PLATFORM(MAC) && (__MAC_OS_X_VERSION_MIN_REQUIRED >= 101400 && __MAC_OS_X_VERSION_MAX_ALLOWED >= 101404)) || (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 120000 && __IPHONE_OS_VERSION_MAX_ALLOWED >= 120200) || (PLATFORM(WATCHOS) && __WATCH_OS_VERSION_MIN_REQUIRED >= 50000 && __WATCH_OS_VERSION_MAX_ALLOWED >= 50200) || (PLATFORM(APPLETV) && __TV_OS_VERSION_MIN_REQUIRED >= 120000 && __TV_OS_VERSION_MAX_ALLOWED >= 120200)
 #define HAVE_CFNETWORK_OVERRIDE_SESSION_COOKIE_ACCEPT_POLICY 1
 #endif
 
 #define USE_UICONTEXTMENU 1
 #endif
 
-#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED <= 101300
-#define USE_INTEL_METAL_WORKAROUND 1
-#endif
-
 #if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500
 #define HAVE_SUBVIEWS_IVAR_SPI 1
 #endif
 
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000) || (PLATFORM(WATCHOS) && __WATCH_OS_VERSION_MIN_REQUIRED >= 40000) || (PLATFORM(APPLETV) && __TV_OS_VERSION_MIN_REQUIRED >= 110000)
+#if PLATFORM(MAC) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000) || (PLATFORM(WATCHOS) && __WATCH_OS_VERSION_MIN_REQUIRED >= 40000) || (PLATFORM(APPLETV) && __TV_OS_VERSION_MIN_REQUIRED >= 110000)
 #define USE_PLATFORM_SYSTEM_FALLBACK_LIST 1
 #endif
 
index 5c809c0..c8ecdd4 100644 (file)
 #pragma once
 
 #import <Availability.h>
-
-#if __MAC_OS_X_VERSION_MAX_ALLOWED < 101300
-#import <AppKit/AppKit.h>
-#endif
-
-#if __MAC_OS_X_VERSION_MAX_ALLOWED < 101300
-
-typedef NSInteger NSControlStateValue;
-static const NSControlStateValue NSControlStateValueMixed = NSMixedState;
-static const NSControlStateValue NSControlStateValueOff = NSOffState;
-static const NSControlStateValue NSControlStateValueOn = NSOnState;
-
-static const NSLevelIndicatorStyle NSLevelIndicatorStyleRelevancy = NSRelevancyLevelIndicatorStyle;
-static const NSLevelIndicatorStyle NSLevelIndicatorStyleContinuousCapacity = NSContinuousCapacityLevelIndicatorStyle;
-static const NSLevelIndicatorStyle NSLevelIndicatorStyleDiscreteCapacity = NSDiscreteCapacityLevelIndicatorStyle;
-static const NSLevelIndicatorStyle NSLevelIndicatorStyleRating = NSRatingLevelIndicatorStyle;
-
-#endif // __MAC_OS_X_VERSION_MAX_ALLOWED < 101300
index d71303a..2603066 100644 (file)
@@ -46,9 +46,6 @@ typedef struct {
     char* builtin;
     unsigned char* data;
     size_t size;
-#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101300
-    char* trace;
-#endif
 } *sandbox_profile_t;
 
 typedef struct {
index 6b259f6..772db2b 100644 (file)
@@ -1,3 +1,72 @@
+2019-08-14  Keith Rollin  <krollin@apple.com>
+
+        Remove support for macOS < 10.13
+        https://bugs.webkit.org/show_bug.cgi?id=200694
+        <rdar://problem/54278851>
+
+        Reviewed by Youenn Fablet.
+
+        Update conditionals that reference __MAC_OS_X_VERSION_MIN_REQUIRED and
+        __MAC_OS_X_VERSION_MAX_ALLOWED, assuming that they both have values >=
+        101300. This means that expressions like
+        "__MAC_OS_X_VERSION_MIN_REQUIRED < 101300" are always False and
+        "__MAC_OS_X_VERSION_MIN_REQUIRED >= 101300" are always True.
+
+        No new tests -- no added or changed functionality.
+
+        * Modules/applepay/cocoa/PaymentContactCocoa.mm:
+        (WebCore::subLocality):
+        (WebCore::setSubLocality):
+        (WebCore::subAdministrativeArea):
+        (WebCore::setSubAdministrativeArea):
+        * WebCorePrefix.h:
+        * crypto/mac/CryptoKeyRSAMac.cpp:
+        * editing/cocoa/WebContentReaderCocoa.mm:
+        * page/mac/TextIndicatorWindow.mm:
+        (-[WebTextIndicatorView initWithFrame:textIndicator:margin:offset:]):
+        * platform/PlatformScreen.h:
+        * platform/cocoa/NetworkExtensionContentFilter.mm:
+        (WebCore::NetworkExtensionContentFilter::initialize):
+        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
+        (WebCore::MediaPlayerPrivateAVFoundationObjC::seekableTimeRangesLastModifiedTime const):
+        (WebCore::MediaPlayerPrivateAVFoundationObjC::liveUpdateInterval const):
+        * platform/graphics/cocoa/FontCacheCoreText.cpp:
+        (WebCore::FontDatabase::fontForPostScriptName):
+        (WebCore::variationCapabilitiesForFontDescriptor):
+        (WebCore::FontCache::lastResortFallbackFont):
+        * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
+        (WebCore::cascadeToLastResortAndVariationsFontDescriptor):
+        * platform/graphics/cocoa/GraphicsContext3DCocoa.mm:
+        (WebCore::setGPUByRegistryID):
+        (WebCore::GraphicsContext3D::GraphicsContext3D):
+        (WebCore::GraphicsContext3D::screenDidChange):
+        (WebCore::setGPUByDisplayMask): Deleted.
+        * platform/graphics/cv/VideoTextureCopierCV.cpp:
+        * platform/graphics/gpu/cocoa/GPUDeviceMetal.mm:
+        (WebCore::isAcceptableDevice):
+        * platform/graphics/mac/FontCacheMac.mm:
+        (WebCore::platformFontWithFamilySpecialCase):
+        * platform/graphics/mac/FontCustomPlatformData.cpp:
+        (WebCore::createFontCustomPlatformData):
+        * platform/mac/DragImageMac.mm:
+        (WebCore::LinkImageLayout::LinkImageLayout):
+        (WebCore::createDragImageForLink):
+        * platform/mac/PlatformScreenMac.mm:
+        (WebCore::collectScreenProperties):
+        (WebCore::gpuIDForDisplayMask):
+        * platform/mac/WebPlaybackControlsManager.h:
+        * platform/mac/WebPlaybackControlsManager.mm:
+        (toAVTouchBarMediaSelectionOptionType):
+        (mediaSelectionOptions):
+        (-[WebPlaybackControlsManager generateFunctionBarThumbnailsForTimes:size:completionHandler:]): Deleted.
+        (-[WebPlaybackControlsManager generateFunctionBarAudioAmplitudeSamples:completionHandler:]): Deleted.
+        (-[WebPlaybackControlsManager canBeginFunctionBarScrubbing]): Deleted.
+        (-[WebPlaybackControlsManager beginFunctionBarScrubbing]): Deleted.
+        (-[WebPlaybackControlsManager endFunctionBarScrubbing]): Deleted.
+        * rendering/RenderThemeMac.mm:
+        (WebCore::RenderThemeMac::platformActiveTextSearchHighlightColor const):
+        (WebCore::RenderThemeMac::systemColor const):
+
 2019-08-14  Zalan Bujtas  <zalan@apple.com>
 
         [ContentChangeObserver] Any previously destroyed renderer should not be considered a candidate for content observation.
index e88284c..f713cf2 100644 (file)
@@ -42,11 +42,7 @@ namespace WebCore {
 
 static NSString *subLocality(CNPostalAddress *address)
 {
-#if PLATFORM(IOS_FAMILY) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MAX_ALLOWED >= 101204)
-#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101300
-    if (![address respondsToSelector:@selector(subLocality)])
-        return nil;
-#endif
+#if PLATFORM(IOS_FAMILY) || PLATFORM(MAC)
     return address.subLocality;
 #else
     UNUSED_PARAM(address);
@@ -56,11 +52,7 @@ static NSString *subLocality(CNPostalAddress *address)
 
 static void setSubLocality(CNMutablePostalAddress *address, NSString *subLocality)
 {
-#if PLATFORM(IOS_FAMILY) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MAX_ALLOWED >= 101204)
-#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101300
-    if (![address respondsToSelector:@selector(setSubLocality:)])
-        return;
-#endif
+#if PLATFORM(IOS_FAMILY) || PLATFORM(MAC)
     address.subLocality = subLocality;
 #else
     UNUSED_PARAM(address);
@@ -70,11 +62,7 @@ static void setSubLocality(CNMutablePostalAddress *address, NSString *subLocalit
 
 static NSString *subAdministrativeArea(CNPostalAddress *address)
 {
-#if PLATFORM(IOS_FAMILY) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MAX_ALLOWED >= 101204)
-#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101300
-    if (![address respondsToSelector:@selector(subAdministrativeArea)])
-        return nil;
-#endif
+#if PLATFORM(IOS_FAMILY) || PLATFORM(MAC)
     return address.subAdministrativeArea;
 #else
     UNUSED_PARAM(address);
@@ -84,11 +72,7 @@ static NSString *subAdministrativeArea(CNPostalAddress *address)
 
 static void setSubAdministrativeArea(CNMutablePostalAddress *address, NSString *subAdministrativeArea)
 {
-#if PLATFORM(IOS_FAMILY) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MAX_ALLOWED >= 101204)
-#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101300
-    if (![address respondsToSelector:@selector(setSubAdministrativeArea:)])
-        return;
-#endif
+#if PLATFORM(IOS_FAMILY) || PLATFORM(MAC)
     address.subAdministrativeArea = subAdministrativeArea;
 #else
     UNUSED_PARAM(address);
index 7240672..60e7fb5 100644 (file)
@@ -1,3 +1,28 @@
+2019-08-14  Keith Rollin  <krollin@apple.com>
+
+        Remove support for macOS < 10.13
+        https://bugs.webkit.org/show_bug.cgi?id=200694
+        <rdar://problem/54278851>
+
+        Reviewed by Youenn Fablet.
+
+        Update conditionals that reference __MAC_OS_X_VERSION_MIN_REQUIRED and
+        __MAC_OS_X_VERSION_MAX_ALLOWED, assuming that they both have values >=
+        101300. This means that expressions like
+        "__MAC_OS_X_VERSION_MIN_REQUIRED < 101300" are always False and
+        "__MAC_OS_X_VERSION_MIN_REQUIRED >= 101300" are always True.
+
+        * pal/spi/cf/CFNetworkSPI.h:
+        * pal/spi/cocoa/AVKitSPI.h:
+        * pal/spi/cocoa/CommonCryptoSPI.h:
+        * pal/spi/cocoa/IOSurfaceSPI.h:
+        * pal/spi/cocoa/NEFilterSourceSPI.h:
+        * pal/spi/cocoa/NSAttributedStringSPI.h:
+        * pal/spi/cocoa/NSKeyedArchiverSPI.h:
+        * pal/spi/cocoa/NSTouchBarSPI.h:
+        * pal/spi/cocoa/PassKitSPI.h:
+        * pal/spi/mac/AVFoundationSPI.h:
+
 2019-08-14  Youenn Fablet  <youenn@apple.com>
 
         Remove SessionID default constructor
index e055425..06fe0a9 100644 (file)
@@ -62,15 +62,6 @@ WTF_EXTERN_C_END
 #import <CFNetwork/CFNSURLConnection.h>
 #endif
 
-// This only needs to be declared on macOS 10.12 Sierra because
-// it will never appear in those SDK headers.  See also
-// HAVE(CFNETWORK_OVERRIDE_SESSION_COOKIE_ACCEPT_POLICY).
-#if defined(__OBJC__) && PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED == 101200
-@interface NSHTTPCookieStorage ()
-@property (nonatomic, readwrite) BOOL _overrideSessionCookieAcceptPolicy;
-@end
-#endif
-
 #else // !PLATFORM(WIN) && !USE(APPLE_INTERNAL_SDK)
 
 typedef CF_ENUM(int64_t, _TimingDataOptions)
@@ -223,12 +214,12 @@ typedef NS_ENUM(NSInteger, NSURLSessionCompanionProxyPreference) {
 @property (nullable, readwrite, retain) NSURL *_siteForCookies;
 @property (readwrite) BOOL _isTopLevelNavigation;
 #endif
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000)
+#if PLATFORM(MAC) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000)
 @property (nonatomic, assign) BOOL _preconnect;
 #endif
 @end
 
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000)
+#if PLATFORM(MAC) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000)
 @interface NSURLSessionTaskTransactionMetrics ()
 @property (copy, readonly) NSString* _remoteAddressAndPort;
 @property (copy, readonly) NSUUID* _connectionIdentifier;
index 426e01d..1cc8556 100644 (file)
@@ -233,22 +233,14 @@ NS_ASSUME_NONNULL_END
 OBJC_CLASS AVFunctionBarPlaybackControlsProvider;
 OBJC_CLASS AVFunctionBarScrubber;
 OBJC_CLASS AVFunctionBarMediaSelectionOption;
-#if __MAC_OS_X_VERSION_MAX_ALLOWED >= 101300
 OBJC_CLASS AVTouchBarPlaybackControlsProvider;
 OBJC_CLASS AVTouchBarScrubber;
 OBJC_CLASS AVTouchBarMediaSelectionOption;
-#else
-typedef AVFunctionBarMediaSelectionOption AVTouchBarMediaSelectionOption;
-#endif
 
 #if USE(APPLE_INTERNAL_SDK)
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
+
 #import <AVKit/AVTouchBarPlaybackControlsProvider.h>
 #import <AVKit/AVTouchBarScrubber.h>
-#else
-#import <AVKit/AVFunctionBarPlaybackControlsProvider.h>
-#import <AVKit/AVFunctionBarScrubber.h>
-#endif // __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
 
 #else
 
@@ -275,8 +267,6 @@ __attribute__((availability(macosx, obsoleted = 10.13))) @interface AVFunctionBa
 @property (assign, nullable) id<AVFunctionBarPlaybackControlsControlling> playbackControlsController;
 @end
 
-#if __MAC_OS_X_VERSION_MAX_ALLOWED >= 101300
-
 @protocol AVTouchBarPlaybackControlsControlling <NSObject>
 @property (readonly) NSTimeInterval contentDuration;
 @property (readonly, nullable) AVValueTiming *timing;
@@ -314,8 +304,6 @@ typedef NS_ENUM(NSInteger, AVTouchBarMediaSelectionOptionType) {
 
 @class AVThumbnail;
 
-#endif
-
 NS_ASSUME_NONNULL_END
 
 #endif
index b839fa3..94b5616 100644 (file)
@@ -25,7 +25,7 @@
 
 #pragma once
 
-#if (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300)
+#if (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000) || PLATFORM(MAC)
 #define HAVE_CCRSAGetCRTComponents 1
 #endif
 
index a5f9ab2..0a3ebb1 100644 (file)
@@ -92,7 +92,7 @@ WTF_EXTERN_C_END
 
 #else
 
-#if (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MAX_ALLOWED >= 101300)
+#if (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000) || PLATFORM(MAC)
 
 #import <IOSurface/IOSurfaceTypes.h>
 
index 76394ec..5cc1709 100644 (file)
@@ -69,7 +69,7 @@ typedef void (^NEFilterSourceDecisionHandler)(NEFilterSourceStatus, NSDictionary
 - (void)receivedData:(NSData *)data decisionHandler:(NEFilterSourceDecisionHandler)decisionHandler;
 - (void)finishedLoadingWithDecisionHandler:(NEFilterSourceDecisionHandler)decisionHandler;
 - (void)remediateWithDecisionHandler:(NEFilterSourceDecisionHandler)decisionHandler;
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000)
+#if PLATFORM(MAC) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000)
 @property (copy) NSString *sourceAppIdentifier;
 @property (assign) pid_t sourceAppPid;
 #endif
index c876298..2a8b524 100644 (file)
@@ -109,7 +109,7 @@ static NSString *const NSSuperscriptAttributeName = @"NSSuperscript";
 
 #endif // PLATFORM(IOS_FAMILY)
 
-#if PLATFORM(IOS_FAMILY) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MAX_ALLOWED < 101300)
+#if PLATFORM(IOS_FAMILY)
 static NSString *const NSTextListMarkerCircle = @"{circle}";
 static NSString *const NSTextListMarkerDisc = @"{disc}";
 static NSString *const NSTextListMarkerSquare = @"{square}";
@@ -123,4 +123,4 @@ static NSString *const NSTextListMarkerUppercaseLatin = @"{upper-latin}";
 static NSString *const NSTextListMarkerLowercaseRoman = @"{lower-roman}";
 static NSString *const NSTextListMarkerUppercaseRoman = @"{upper-roman}";
 static NSString *const NSTextListMarkerDecimal = @"{decimal}";
-#endif // PLATFORM(IOS_FAMILY) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MAX_ALLOWED < 101300)
+#endif // PLATFORM(IOS_FAMILY)
index dd3b0d8..dd4091a 100644 (file)
@@ -29,9 +29,9 @@
 #import <wtf/Assertions.h>
 #import <wtf/RetainPtr.h>
 
-#define USE_SECURE_ARCHIVER_API ((PLATFORM(MAC) && __MAC_OS_X_VERSION_MAX_ALLOWED >= 101302 && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110200) || (PLATFORM(WATCHOS) && __WATCH_OS_VERSION_MIN_REQUIRED >= 40200) || (PLATFORM(APPLETV) && __TV_OS_VERSION_MIN_REQUIRED >= 110200))
+#define USE_SECURE_ARCHIVER_API (PLATFORM(MAC) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110200) || (PLATFORM(WATCHOS) && __WATCH_OS_VERSION_MIN_REQUIRED >= 40200) || (PLATFORM(APPLETV) && __TV_OS_VERSION_MIN_REQUIRED >= 110200))
 
-#define USE_SECURE_ARCHIVER_FOR_ATTRIBUTED_STRING ((PLATFORM(MAC) && __MAC_OS_X_VERSION_MAX_ALLOWED >= 101302 && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000) || (PLATFORM(WATCHOS) && __WATCH_OS_VERSION_MIN_REQUIRED >= 60000) || (PLATFORM(APPLETV) && __TV_OS_VERSION_MIN_REQUIRED >= 130000))
+#define USE_SECURE_ARCHIVER_FOR_ATTRIBUTED_STRING (PLATFORM(MAC) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000) || (PLATFORM(WATCHOS) && __WATCH_OS_VERSION_MIN_REQUIRED >= 60000) || (PLATFORM(APPLETV) && __TV_OS_VERSION_MIN_REQUIRED >= 130000))
 
 #if USE(SECURE_ARCHIVER_API)
 #if USE(APPLE_INTERNAL_SDK)
index fbb35d1..4a5146e 100644 (file)
 #import <AppKit/NSTextTouchBarItemController_WebKitSPI.h>
 #import <AppKit/NSTouchBar_Private.h>
 
-#if __MAC_OS_X_VERSION_MAX_ALLOWED < 101300
-#import <AppKit/NSFunctionBar_Private.h>
-#endif
-
 #endif
 
 NS_ASSUME_NONNULL_BEGIN
index 3dd408a..c23a98c 100644 (file)
@@ -90,8 +90,6 @@ NS_ASSUME_NONNULL_END
 
 NS_ASSUME_NONNULL_BEGIN
 
-#if __MAC_OS_X_VERSION_MAX_ALLOWED >= 101300
-
 @class PKPaymentAuthorizationResult;
 @class PKPaymentRequestUpdate;
 @class PKPaymentRequestPaymentMethodUpdate;
@@ -109,8 +107,6 @@ typedef NS_ERROR_ENUM(PKPaymentErrorDomain, PKPaymentErrorCode) {
     PKPaymentShippingAddressUnserviceableError,
 };
 
-#endif
-
 typedef NS_OPTIONS(NSUInteger, PKAddressField) {
     PKAddressFieldNone = 0UL,
     PKAddressFieldPostalAddress = 1UL << 0,
@@ -237,11 +233,9 @@ typedef NSString * PKPaymentNetwork NS_EXTENSIBLE_STRING_ENUM;
 @property (nonatomic, copy, nullable) NSArray<PKShippingMethod *> *shippingMethods;
 @property (nonatomic, assign) PKShippingType shippingType;
 @property (nonatomic, copy, nullable) NSData *applicationData;
-#if __MAC_OS_X_VERSION_MAX_ALLOWED >= 101300
 @property (nonatomic, copy, nullable) NSSet<NSString *> *supportedCountries;
 @property (nonatomic, strong) NSSet<PKContactField> *requiredShippingContactFields;
 @property (nonatomic, strong) NSSet<PKContactField> *requiredBillingContactFields;
-#endif
 @end
 
 @interface PKPaymentAuthorizationViewController : NSViewController
@@ -253,11 +247,7 @@ typedef NSString * PKPaymentNetwork NS_EXTENSIBLE_STRING_ENUM;
 @protocol PKPaymentAuthorizationViewControllerDelegate <NSObject>
 @required
 
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
 - (void)paymentAuthorizationViewController:(PKPaymentAuthorizationViewController *)controller didAuthorizePayment:(PKPayment *)payment handler:(void (^)(PKPaymentAuthorizationResult *result))completion;
-#else
-- (void)paymentAuthorizationViewController:(PKPaymentAuthorizationViewController *)controller didAuthorizePayment:(PKPayment *)payment completion:(void (^)(PKPaymentAuthorizationStatus status))completion;
-#endif
 
 - (void)paymentAuthorizationViewControllerDidFinish:(PKPaymentAuthorizationViewController *)controller;
 
@@ -343,7 +333,7 @@ typedef NS_ENUM(NSInteger, PKPaymentButtonType) {
 };
 #endif
 
-#if PLATFORM(MAC) && !USE(APPLE_INTERNAL_SDK) && __MAC_OS_X_VERSION_MAX_ALLOWED >= 101300
+#if PLATFORM(MAC) && !USE(APPLE_INTERNAL_SDK)
 
 NS_ASSUME_NONNULL_BEGIN
 
index 9f91bd5..c8497e9 100644 (file)
 #import <AVFoundation/AVPlayerItem.h>
 #import <AVFoundation/AVPlayerLayer.h>
 
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MAX_ALLOWED >= 101300) || PLATFORM(IOS_FAMILY)
+#if PLATFORM(MAC) || PLATFORM(IOS_FAMILY)
 NS_ASSUME_NONNULL_BEGIN
 @interface AVPlayerItem ()
 @property (nonatomic, readonly) NSTimeInterval seekableTimeRangesLastModifiedTime NS_AVAILABLE(10_13, 11_0);
 @property (nonatomic, readonly) NSTimeInterval liveUpdateInterval;
 @end
 NS_ASSUME_NONNULL_END
-#endif // (PLATFORM(MAC) && __MAC_OS_X_VERSION_MAX_ALLOWED >= 101300) || PLATFORM(IOS_FAMILY)
+#endif // PLATFORM(MAC) || PLATFORM(IOS_FAMILY)
 
 #if ENABLE(WIRELESS_PLAYBACK_TARGET) || PLATFORM(IOS_FAMILY)
 
@@ -240,15 +240,7 @@ NS_ASSUME_NONNULL_END
 
 #endif // __has_include(<AVFoundation/AVSampleBufferRenderSynchronizer.h>)
 
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MAX_ALLOWED < 101300) && __has_include(<AVFoundation/AVQueuedSampleBufferRendering.h>)
-#import <AVFoundation/AVQueuedSampleBufferRendering.h>
-@class AVVideoPerformanceMetrics;
-NS_ASSUME_NONNULL_BEGIN
-@interface AVSampleBufferDisplayLayer (VideoPerformanceMetrics)
-- (AVVideoPerformanceMetrics *)videoPerformanceMetrics;
-@end
-NS_ASSUME_NONNULL_END
-#elif __has_include(<AVFoundation/AVSampleBufferDisplayLayer_Private.h>)
+#if __has_include(<AVFoundation/AVSampleBufferDisplayLayer_Private.h>)
 #import <AVFoundation/AVSampleBufferDisplayLayer_Private.h>
 #elif __has_include(<AVFoundation/AVSampleBufferDisplayLayer.h>)
 #import <AVFoundation/AVSampleBufferDisplayLayer.h>
@@ -278,9 +270,7 @@ NS_ASSUME_NONNULL_BEGIN
 NS_ASSUME_NONNULL_END
 #endif // __has_include(<AVFoundation/AVSampleBufferDisplayLayer.h>)
 
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MAX_ALLOWED < 101300) && __has_include(<AVFoundation/AVQueuedSampleBufferRendering.h>)
-// Nothing to do, AVfoundation/AVQueuedSampleBufferRendering.h was imported above.
-#elif __has_include(<AVFoundation/AVSampleBufferAudioRenderer.h>)
+#if __has_include(<AVFoundation/AVSampleBufferAudioRenderer.h>)
 #import <AVFoundation/AVSampleBufferAudioRenderer.h>
 #else
 
@@ -303,7 +293,7 @@ NS_ASSUME_NONNULL_END
 
 #endif // __has_include(<AVFoundation/AVSampleBufferAudioRenderer.h>)
 
-#if !USE(APPLE_INTERNAL_SDK) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MAX_ALLOWED < 101300)
+#if !USE(APPLE_INTERNAL_SDK)
 @interface AVVideoPerformanceMetrics : NSObject
 @property (nonatomic, readonly) unsigned long totalNumberOfVideoFrames;
 @property (nonatomic, readonly) unsigned long numberOfDroppedVideoFrames;
index db7cdca..ee7056d 100644 (file)
 
 #ifdef __cplusplus
 
-#if !PLATFORM(WIN) && (!PLATFORM(MAC) || __MAC_OS_X_VERSION_MAX_ALLOWED >= 101300)
+#if !PLATFORM(WIN)
 #import <wtf/FastMalloc.h>
 #import <wtf/Optional.h>
 #import <wtf/StdLibExtras.h>
index 0122188..1bcd48c 100644 (file)
@@ -41,7 +41,7 @@
 
 namespace WebCore {
 
-#if (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED < 110000) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101300)
+#if (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED < 110000)
 inline uint8_t* castDataArgumentToCCRSACryptorCreateFromDataIfNeeded(const uint8_t* value)
 {
     return const_cast<uint8_t*>(value);
index a131307..0cf2fc3 100644 (file)
@@ -73,7 +73,7 @@
 #include "LocalDefaultSystemAppearance.h"
 #endif
 
-#if (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300)
+#if (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000) || PLATFORM(MAC)
 @interface NSAttributedString ()
 - (NSString *)_htmlDocumentFragmentString:(NSRange)range documentAttributes:(NSDictionary *)dict subresources:(NSArray **)subresources;
 @end
@@ -83,7 +83,7 @@ SOFT_LINK_PRIVATE_FRAMEWORK(WebKitLegacy)
 SOFT_LINK_FRAMEWORK_IN_UMBRELLA(WebKit, WebKitLegacy)
 #endif
 
-#if (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED < 110000) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101300)
+#if (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED < 110000)
 SOFT_LINK(WebKitLegacy, _WebCreateFragment, void, (WebCore::Document& document, NSAttributedString *string, WebCore::FragmentAndResources& result), (document, string, result))
 #endif
 
@@ -96,7 +96,7 @@ static FragmentAndResources createFragment(Frame&, NSAttributedString *)
     return { };
 }
 
-#elif (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300)
+#elif (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000) || PLATFORM(MAC)
 
 static NSDictionary *attributesForAttributedStringConversion()
 {
index fe332b8..17ba51f 100644 (file)
@@ -169,11 +169,7 @@ static bool indicatorWantsManualAnimation(const TextIndicator& indicator)
 
     RetainPtr<NSMutableArray> bounceLayers = adoptNS([[NSMutableArray alloc] init]);
 
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
     RetainPtr<CGColorRef> highlightColor = [NSColor findHighlightColor].CGColor;
-#else
-    RetainPtr<CGColorRef> highlightColor = [NSColor colorWithDeviceRed:1 green:0.8 blue:0 alpha:1].CGColor;
-#endif
     RetainPtr<CGColorRef> rimShadowColor = [NSColor colorWithDeviceWhite:0 alpha:0.35].CGColor;
     RetainPtr<CGColorRef> dropShadowColor = [NSColor colorWithDeviceWhite:0 alpha:0.2].CGColor;
 
index 999e167..9ff282b 100644 (file)
@@ -104,11 +104,9 @@ WEBCORE_EXPORT PlatformDisplayID primaryScreenDisplayID();
 uint32_t primaryOpenGLDisplayMask();
 uint32_t displayMaskForDisplay(PlatformDisplayID);
 
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
 IORegistryGPUID primaryGPUID();
 IORegistryGPUID gpuIDForDisplay(PlatformDisplayID);
 IORegistryGPUID gpuIDForDisplayMask(uint32_t);
-#endif
 
 #endif // !PLATFORM(MAC)
 
index 4705ed1..12ab321 100644 (file)
@@ -75,7 +75,7 @@ void NetworkExtensionContentFilter::initialize(const URL* url)
     m_queue = adoptOSObject(dispatch_queue_create("WebKit NetworkExtension Filtering", DISPATCH_QUEUE_SERIAL));
     ASSERT_UNUSED(url, !url);
     m_neFilterSource = adoptNS([allocNEFilterSourceInstance() initWithDecisionQueue:m_queue.get()]);
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000)
+#if PLATFORM(MAC) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000)
     [m_neFilterSource setSourceAppIdentifier:applicationBundleIdentifier()];
     // FIXME: Remove the -respondsToSelector: check once -setSourceAppPid: is defined in an SDK used by the builders.
     if ([m_neFilterSource respondsToSelector:@selector(setSourceAppPid:)])
index c6590bd..5cd2240 100644 (file)
@@ -1313,7 +1313,7 @@ double MediaPlayerPrivateAVFoundationObjC::rate() const
 
 double MediaPlayerPrivateAVFoundationObjC::seekableTimeRangesLastModifiedTime() const
 {
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000)
+#if PLATFORM(MAC) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000)
     return [m_avPlayerItem seekableTimeRangesLastModifiedTime];
 #else
     return 0;
@@ -1322,7 +1322,7 @@ double MediaPlayerPrivateAVFoundationObjC::seekableTimeRangesLastModifiedTime()
 
 double MediaPlayerPrivateAVFoundationObjC::liveUpdateInterval() const
 {
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000)
+#if PLATFORM(MAC) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000)
     return [m_avPlayerItem liveUpdateInterval];
 #else
     return 0;
index 7252e49..7188e43 100644 (file)
@@ -39,7 +39,7 @@
 #include <wtf/MemoryPressureHandler.h>
 #include <wtf/NeverDestroyed.h>
 
-#define HAS_CORE_TEXT_WIDTH_ATTRIBUTE ((PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000))
+#define HAS_CORE_TEXT_WIDTH_ATTRIBUTE (PLATFORM(MAC) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000))
 
 namespace WebCore {
 
@@ -971,7 +971,7 @@ public:
         const auto& folded = FontCascadeDescription::foldedFamilyName(postScriptName);
         return m_postScriptNameToFontDescriptors.ensure(folded, [&] {
             auto postScriptNameString = folded.createCFString();
-#if (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300)
+#if (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000) || PLATFORM(MAC)
             CFStringRef nameAttribute = kCTFontPostScriptNameAttribute;
 #else
             CFStringRef nameAttribute = kCTFontNameAttribute;
@@ -1070,7 +1070,7 @@ static VariationCapabilities variationCapabilitiesForFontDescriptor(CTFontDescri
     }
 
     bool optOutFromGXNormalization = false;
-#if ((PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000))
+#if (PLATFORM(MAC) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000))
     optOutFromGXNormalization = CTFontDescriptorIsSystemUIFont(fontDescriptor);
 #endif
 
@@ -1648,7 +1648,7 @@ Ref<Font> FontCache::lastResortFallbackFont(const FontDescription& fontDescripti
         return *result;
 
     // LastResort is guaranteed to be non-null.
-#if (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300)
+#if (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000) || PLATFORM(MAC)
     auto fontDescriptor = adoptCF(CTFontDescriptorCreateLastResort());
     auto font = adoptCF(CTFontCreateWithFontDescriptor(fontDescriptor.get(), fontDescription.computedPixelSize(), nullptr));
 #else
index 6f7ab46..4889e13 100644 (file)
@@ -123,8 +123,8 @@ static CFDictionaryRef cascadeToLastResortAttributesDictionary()
 
 static RetainPtr<CTFontDescriptorRef> cascadeToLastResortAndVariationsFontDescriptor(CTFontRef originalFont)
 {
-// FIXME: Remove this when <rdar://problem/28449441> is fixed.
-#define WORKAROUND_CORETEXT_VARIATIONS_WITH_FALLBACK_LIST_BUG (ENABLE(VARIATION_FONTS) && ((PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101300) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED < 110000)))
+// FIXME: Remove this when <rdar://problem/28449441> is fixed. NOTE: That radar was fixed 11/16/16, so this can be removed. TBD.
+#define WORKAROUND_CORETEXT_VARIATIONS_WITH_FALLBACK_LIST_BUG (ENABLE(VARIATION_FONTS) && (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED < 110000))
 
     CFDictionaryRef attributes = cascadeToLastResortAttributesDictionary();
 #if WORKAROUND_CORETEXT_VARIATIONS_WITH_FALLBACK_LIST_BUG
index 892b4a9..feeacd4 100644 (file)
@@ -131,7 +131,6 @@ Ref<GraphicsContext3D> GraphicsContext3D::createShared(GraphicsContext3D& shared
 
 #if PLATFORM(MAC) && USE(OPENGL) // FIXME: This probably should be just USE(OPENGL) - see <rdar://53062794>.
 
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
 static void setGPUByRegistryID(PlatformGraphicsContext3D contextObj, CGLPixelFormatObj pixelFormatObj, IORegistryGPUID preferredGPUID)
 {
     // When the WebProcess does not have access to the WindowServer, there is no way for OpenGL to tell which GPU is connected to a display.
@@ -177,36 +176,6 @@ static void setGPUByRegistryID(PlatformGraphicsContext3D contextObj, CGLPixelFor
         LOG(WebGL, "RegistryID (%lld) not matched; Context (%p) set to virtual screen (%d).", preferredGPUID, contextObj, firstAcceleratedScreen);
     }
 }
-#else // __MAC_OS_X_VERSION_MIN_REQUIRED < 101300
-static void setGPUByDisplayMask(PlatformGraphicsContext3D contextObj, CGLPixelFormatObj pixelFormatObj, uint32_t preferredDisplayMask)
-{
-    // A common case for multiple GPUs, external GPUs, is not supported before macOS 10.13.4.
-    // In the rarer case where there are still multiple displays plugged into multiple GPUs, this should still work.
-    // See code example at https://developer.apple.com/library/content/technotes/tn2229/_index.html#//apple_ref/doc/uid/DTS40008924-CH1-SUBSECTION7
-    // FIXME: Window server is not blocked before 10.14. There might be a more straightforward way to detect the correct GPU.
-
-    if (!contextObj || !preferredDisplayMask)
-        return;
-
-    GLint virtualScreenCount = 0;
-    CGLError error = CGLDescribePixelFormat(pixelFormatObj, 0, kCGLPFAVirtualScreenCount, &virtualScreenCount);
-    ASSERT(error == kCGLNoError);
-
-    for (GLint virtualScreen = 0; virtualScreen < virtualScreenCount; ++virtualScreen) {
-        GLint displayMask = 0;
-        error = CGLDescribePixelFormat(pixelFormatObj, virtualScreen, kCGLPFADisplayMask, &displayMask);
-        ASSERT(error == kCGLNoError);
-        if (error != kCGLNoError)
-            continue;
-
-        if (displayMask & preferredDisplayMask) {
-            error = CGLSetVirtualScreen(contextObj, virtualScreen);
-            ASSERT(error == kCGLNoError);
-            return;
-        }
-    }
-}
-#endif
 
 #endif // PLATFORM(MAC) && USE(OPENGL)
 
@@ -292,16 +261,8 @@ GraphicsContext3D::GraphicsContext3D(GraphicsContext3DAttributes attrs, HostWind
     
 #if PLATFORM(MAC) // FIXME: This probably should be USE(OPENGL) - see <rdar://53062794>.
 
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
     auto gpuID = (hostWindow && hostWindow->displayID()) ? gpuIDForDisplay(hostWindow->displayID()) : primaryGPUID();
     setGPUByRegistryID(m_contextObj, pixelFormatObj, gpuID);
-#else
-    if (auto displayMask = primaryOpenGLDisplayMask()) {
-        if (hostWindow && hostWindow->displayID())
-            displayMask = displayMaskForDisplay(hostWindow->displayID());
-        setGPUByDisplayMask(m_contextObj, pixelFormatObj, displayMask);
-    }
-#endif
 
 #else
     UNUSED_PARAM(hostWindow);
@@ -782,15 +743,11 @@ void GraphicsContext3D::screenDidChange(PlatformDisplayID displayID)
 #if USE(ANGLE)
     UNUSED_PARAM(displayID);
 #else
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
     // FIXME: figure out whether to integrate more code into ANGLE to have this effect.
 #if USE(OPENGL)
     if (!m_hasSwitchedToHighPerformanceGPU)
         setGPUByRegistryID(m_contextObj, CGLGetPixelFormat(m_contextObj), gpuIDForDisplay(displayID));
 #endif
-#else
-    setGPUByDisplayMask(m_contextObj, CGLGetPixelFormat(m_contextObj), displayMaskForDisplay(displayID));
-#endif // __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
 #endif // USE(ANGLE)
 }
 #endif // !PLATFORM(MAC)
index d697654..75ad487 100644 (file)
@@ -61,18 +61,6 @@ enum class TransferFunction {
     kITU_R_2020,
 };
 
-#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101300
-enum {
-    kCVPixelFormatType_ARGB2101010LEPacked = 'l10r',
-    kCVPixelFormatType_420YpCbCr10BiPlanarVideoRange = 'x420',
-    kCVPixelFormatType_422YpCbCr10BiPlanarVideoRange = 'x422',
-    kCVPixelFormatType_444YpCbCr10BiPlanarVideoRange = 'x444',
-    kCVPixelFormatType_420YpCbCr10BiPlanarFullRange  = 'xf20',
-    kCVPixelFormatType_422YpCbCr10BiPlanarFullRange  = 'xf22',
-    kCVPixelFormatType_444YpCbCr10BiPlanarFullRange  = 'xf44',
-};
-#endif
-
 static PixelRange pixelRangeFromPixelFormat(OSType pixelFormat)
 {
     switch (pixelFormat) {
index 32d25f2..97bc7bf 100644 (file)
@@ -38,17 +38,8 @@ namespace WebCore {
 
 static bool isAcceptableDevice(id <MTLDevice> device)
 {
-#if USE(INTEL_METAL_WORKAROUND)
-    BEGIN_BLOCK_OBJC_EXCEPTIONS;
-    if ([[static_cast<id <MTLDeviceSPI>>(device) vendorName] isEqualToString:@"Intel(R)"] && [[static_cast<id <MTLDeviceSPI>>(device) familyName] isEqualToString:@"Iris(TM) Graphics"])
-        return false;
-    return true;
-    END_BLOCK_OBJC_EXCEPTIONS;
-    return false;
-#else
     UNUSED_PARAM(device);
     return true;
-#endif
 }
 
 RefPtr<GPUDevice> GPUDevice::tryCreate(const Optional<GPURequestAdapterOptions>& options)
index 2f5d4c2..a0ac6d3 100644 (file)
@@ -121,14 +121,8 @@ RetainPtr<CTFontRef> platformFontWithFamilySpecialCase(const AtomString& family,
     }
 
     if (equalLettersIgnoringASCIICase(family, "lastresort")) {
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
         static const CTFontDescriptorRef lastResort = CTFontDescriptorCreateLastResort();
         return adoptCF(CTFontCreateWithFontDescriptor(lastResort, size, nullptr));
-#else
-        // LastResort is special, so it's important to look this exact string up, and not some case-folded version.
-        // We handle this here so any caching and case folding we do in our general text codepath is bypassed.
-        return adoptCF(CTFontCreateWithName(CFSTR("LastResort"), size, nullptr));
-#endif
     }
 
     return nullptr;
index 3d5ef09..327ebf6 100644 (file)
@@ -56,7 +56,7 @@ std::unique_ptr<FontCustomPlatformData> createFontCustomPlatformData(SharedBuffe
     RetainPtr<CFDataRef> bufferData = buffer.createCFData();
 
     RetainPtr<CTFontDescriptorRef> fontDescriptor;
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000)
+#if PLATFORM(MAC) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000)
     auto array = adoptCF(CTFontManagerCreateFontDescriptorsFromData(bufferData.get()));
     if (!array)
         return nullptr;
index 436f772..8ebe007 100644 (file)
@@ -48,7 +48,7 @@
 #import <wtf/SoftLinking.h>
 #import <wtf/URL.h>
 
-#if !HAVE(URL_FORMATTING) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
+#if !HAVE(URL_FORMATTING)
 SOFT_LINK_PRIVATE_FRAMEWORK_OPTIONAL(LinkPresentation)
 #endif
 
@@ -160,13 +160,8 @@ const CGFloat linkImageCornerRadius = 5;
 const CGFloat linkImageMaximumWidth = 400;
 const CGFloat linkImageFontSize = 11;
 const CFIndex linkImageTitleMaximumLineCount = 2;
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
 const int linkImageShadowRadius = 0;
 const int linkImageShadowOffsetY = 0;
-#else
-const int linkImageShadowRadius = 9;
-const int linkImageShadowOffsetY = -3;
-#endif
 const int linkImageDragCornerOutsetX = 6 - linkImageShadowRadius;
 const int linkImageDragCornerOutsetY = 10 - linkImageShadowRadius + linkImageShadowOffsetY;
 
@@ -203,7 +198,7 @@ LinkImageLayout::LinkImageLayout(URL& url, const String& titleString)
     NSString *domain = absoluteURLString;
 #if HAVE(URL_FORMATTING)
     domain = [cocoaURL _lp_simplifiedDisplayString];
-#elif __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
+#else
     if (LinkPresentationLibrary())
         domain = [cocoaURL _lp_simplifiedDisplayString];
 #endif
@@ -302,9 +297,6 @@ DragImageRef createDragImageForLink(Element& element, URL& url, const String& ti
     LocalDefaultSystemAppearance localAppearance(element.document().useDarkAppearance(element.computedStyle()));
 
     auto imageSize = layout.boundingRect.size();
-#if __MAC_OS_X_VERSION_MIN_REQUIRED < 101300
-    imageSize.expand(2 * linkImageShadowRadius, 2 * linkImageShadowRadius - linkImageShadowOffsetY);
-#endif
     RetainPtr<NSImage> dragImage = adoptNS([[NSImage alloc] initWithSize:imageSize]);
     [dragImage _web_lockFocusWithDeviceScaleFactor:deviceScaleFactor];
 
@@ -312,14 +304,7 @@ DragImageRef createDragImageForLink(Element& element, URL& url, const String& ti
     GraphicsContext context((CGContextRef)[NSGraphicsContext currentContext].graphicsPort);
     ALLOW_DEPRECATED_DECLARATIONS_END
 
-#if __MAC_OS_X_VERSION_MIN_REQUIRED < 101300
-    context.translate(linkImageShadowRadius, linkImageShadowRadius - linkImageShadowOffsetY);
-    context.setShadow({ 0, linkImageShadowOffsetY }, linkImageShadowRadius, { 0.f, 0.f, 0.f, .25 });
-#endif
     context.fillRoundedRect(FloatRoundedRect(layout.boundingRect, FloatRoundedRect::Radii(linkImageCornerRadius)), colorFromNSColor([NSColor controlBackgroundColor]));
-#if __MAC_OS_X_VERSION_MIN_REQUIRED < 101300
-    context.clearShadow();
-#endif
 
     for (const auto& label : layout.labels) {
         GraphicsContextStateSaver saver(context);
index 7c3d960..6d7e9dd 100644 (file)
@@ -129,10 +129,8 @@ ScreenProperties collectScreenProperties()
         uint32_t displayMask = CGDisplayIDToOpenGLDisplayMask(displayID);
         IORegistryGPUID gpuID = 0;
 
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
         if (displayMask)
             gpuID = gpuIDForDisplayMask(displayMask);
-#endif
 
         screenProperties.screenDataMap.set(displayID, ScreenData { screenAvailableRect, screenRect, colorSpace, screenDepth, screenDepthPerComponent, screenSupportsExtendedColor, screenHasInvertedColors, screenIsMonochrome, displayMask, gpuID });
 
@@ -181,7 +179,6 @@ uint32_t displayMaskForDisplay(PlatformDisplayID displayID)
     return 0;
 }
 
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
 IORegistryGPUID primaryGPUID()
 {
     return gpuIDForDisplay(screenProperties().primaryDisplayID);
@@ -232,7 +229,6 @@ IORegistryGPUID gpuIDForDisplayMask(GLuint displayMask)
     CGLDestroyRendererInfo(rendererInfo);
     return (IORegistryGPUID) gpuIDHigh << 32 | gpuIDLow;
 }
-#endif // !__MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
 
 static ScreenData getScreenProperties(Widget* widget)
 {
index 6d04330..128a71e 100644 (file)
@@ -38,11 +38,7 @@ struct MediaSelectionOption;
 
 WEBCORE_EXPORT
 @interface WebPlaybackControlsManager : NSObject
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
     <AVTouchBarPlaybackControlsControlling>
-#else
-    <AVFunctionBarPlaybackControlsControlling>
-#endif
 {
 @private
     NSTimeInterval _contentDuration;
index 3b78c26..cdb4624 100644 (file)
 IGNORE_WARNINGS_BEGIN("nullability-completeness")
 
 SOFT_LINK_FRAMEWORK(AVKit)
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
 SOFT_LINK_CLASS_OPTIONAL(AVKit, AVTouchBarMediaSelectionOption)
-#else
-SOFT_LINK_CLASS_OPTIONAL(AVKit, AVFunctionBarMediaSelectionOption)
-#endif // __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
 
 using WebCore::MediaSelectionOption;
 using WebCore::PlaybackSessionInterfaceMac;
@@ -135,38 +131,6 @@ using WebCore::PlaybackSessionInterfaceMac;
     _playbackSessionInterfaceMac->endScrubbing();
 }
 
-#if __MAC_OS_X_VERSION_MIN_REQUIRED < 101300
-
-- (void)generateFunctionBarThumbnailsForTimes:(NSArray<NSNumber *> *)thumbnailTimes size:(NSSize)size completionHandler:(void (^)(NSArray<AVThumbnail *> *thumbnails, NSError *error))completionHandler
-{
-    UNUSED_PARAM(thumbnailTimes);
-    UNUSED_PARAM(size);
-    completionHandler(@[ ], nil);
-}
-
-- (void)generateFunctionBarAudioAmplitudeSamples:(NSInteger)numberOfSamples completionHandler:(void (^)(NSArray<NSNumber *> *audioAmplitudeSamples,  NSError *error))completionHandler
-{
-    UNUSED_PARAM(numberOfSamples);
-    completionHandler(@[ ], nil);
-}
-
-- (BOOL)canBeginFunctionBarScrubbing
-{
-    return [self canBeginTouchBarScrubbing];
-}
-
-- (void)beginFunctionBarScrubbing
-{
-    [self beginTouchBarScrubbing];
-}
-
-- (void)endFunctionBarScrubbing
-{
-    [self endTouchBarScrubbing];
-}
-
-#endif
-
 - (NSArray<AVTouchBarMediaSelectionOption *> *)audioTouchBarMediaSelectionOptions
 {
     return _audioTouchBarMediaSelectionOptions.get();
@@ -229,7 +193,6 @@ using WebCore::PlaybackSessionInterfaceMac;
         model->selectLegibleMediaOption(index != NSNotFound ? index : UINT64_MAX);
 }
 
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
 static AVTouchBarMediaSelectionOptionType toAVTouchBarMediaSelectionOptionType(MediaSelectionOption::Type type)
 {
     switch (type) {
@@ -244,17 +207,12 @@ static AVTouchBarMediaSelectionOptionType toAVTouchBarMediaSelectionOptionType(M
     ASSERT_NOT_REACHED();
     return AVTouchBarMediaSelectionOptionTypeRegular;
 }
-#endif
 
 static RetainPtr<NSMutableArray> mediaSelectionOptions(const Vector<MediaSelectionOption>& options)
 {
     RetainPtr<NSMutableArray> webOptions = adoptNS([[NSMutableArray alloc] initWithCapacity:options.size()]);
     for (auto& option : options) {
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
         if (auto webOption = adoptNS([allocAVTouchBarMediaSelectionOptionInstance() initWithTitle:option.displayName type:toAVTouchBarMediaSelectionOptionType(option.type)]))
-#else
-        if (auto webOption = adoptNS([allocAVFunctionBarMediaSelectionOptionInstance() initWithTitle:option.displayName]))
-#endif // __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
             [webOptions addObject:webOption.get()];
     }
     return webOptions;
index e8ca22f..44cb200 100644 (file)
@@ -490,13 +490,8 @@ Color RenderThemeMac::platformFocusRingColor(OptionSet<StyleColor::Options> opti
 
 Color RenderThemeMac::platformActiveTextSearchHighlightColor(OptionSet<StyleColor::Options> options) const
 {
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
     LocalDefaultSystemAppearance localAppearance(options.contains(StyleColor::Options::UseDarkAppearance));
     return colorFromNSColor([NSColor findHighlightColor]);
-#else
-    UNUSED_PARAM(options);
-    return Color(255, 255, 0); // Yellow.
-#endif
 }
 
 Color RenderThemeMac::platformInactiveTextSearchHighlightColor(OptionSet<StyleColor::Options> options) const
@@ -751,12 +746,7 @@ Color RenderThemeMac::systemColor(CSSValueID cssValueID, OptionSet<StyleColor::O
             case CSSValueAppleSystemPlaceholderText:
                 return @selector(placeholderTextColor);
             case CSSValueAppleSystemFindHighlightBackground:
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
                 return @selector(findHighlightColor);
-#else
-                // Handled below.
-                return nullptr;
-#endif
             case CSSValueAppleSystemContainerBorder:
 #if HAVE(OS_DARK_MODE_SUPPORT)
                 return @selector(containerBorderColor);
@@ -852,11 +842,6 @@ Color RenderThemeMac::systemColor(CSSValueID cssValueID, OptionSet<StyleColor::O
                 return Color(0xCC3F638B, Color::Semantic);
             return Color(0x9980BCFE, Color::Semantic);
 
-#if __MAC_OS_X_VERSION_MIN_REQUIRED < 101300
-        case CSSValueAppleSystemFindHighlightBackground:
-            return platformActiveTextSearchHighlightColor(options);
-#endif
-
 #if !HAVE(OS_DARK_MODE_SUPPORT)
         case CSSValueAppleSystemContainerBorder:
             return 0xFFC5C5C5;
index c86dc49..dcba746 100644 (file)
@@ -1,3 +1,50 @@
+2019-08-14  Keith Rollin  <krollin@apple.com>
+
+        Remove support for macOS < 10.13
+        https://bugs.webkit.org/show_bug.cgi?id=200694
+        <rdar://problem/54278851>
+
+        Reviewed by Youenn Fablet.
+
+        Update conditionals that reference __MAC_OS_X_VERSION_MIN_REQUIRED and
+        __MAC_OS_X_VERSION_MAX_ALLOWED, assuming that they both have values >=
+        101300. This means that expressions like
+        "__MAC_OS_X_VERSION_MIN_REQUIRED < 101300" are always False and
+        "__MAC_OS_X_VERSION_MIN_REQUIRED >= 101300" are always True.
+
+        * NetworkProcess/Downloads/cocoa/WKDownloadProgress.mm:
+        (-[WKDownloadProgress initWithDownloadTask:download:URL:sandboxExtension:]):
+        * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
+        (-[WKNetworkSessionDelegate URLSession:task:didFinishCollectingMetrics:]):
+        * Shared/WebPreferencesDefaultValues.cpp:
+        (WebKit::defaultCustomPasteboardDataEnabled):
+        * Shared/WebPreferencesDefaultValues.h:
+        * Shared/mac/AuxiliaryProcessMac.mm:
+        * UIProcess/Cocoa/WebViewImpl.h:
+        * UIProcess/Cocoa/WebViewImpl.mm:
+        (-[WKTextTouchBarItemController itemForIdentifier:]):
+        (WebKit::WebViewImpl::mediaPlaybackControlsView const):
+        (WebKit::WebViewImpl::updateMediaTouchBar):
+        * UIProcess/mac/WebColorPickerMac.mm:
+        * WebProcess/Plugins/PDF/PDFLayerControllerSPI.h:
+        * WebProcess/Plugins/PDF/PDFPlugin.h:
+        * WebProcess/Plugins/PDF/PDFPlugin.mm:
+        (-[WKPDFPluginAccessibilityObject setPdfLayerController:]):
+        (-[WKPDFPluginAccessibilityObject accessibilityAttributeValue:]):
+        (-[WKPDFPluginAccessibilityObject ALLOW_DEPRECATED_IMPLEMENTATIONS_END]):
+        (-[WKPDFPluginAccessibilityObject accessibilityFocusedUIElement]):
+        (-[WKPDFPluginAccessibilityObject accessibilityAssociatedControlForAnnotation:]):
+        (-[WKPDFPluginAccessibilityObject accessibilityHitTest:]):
+        (WebKit::PDFPlugin::pdfDocumentDidLoad):
+        (WebKit::PDFPlugin::handleMouseEvent):
+        (WebKit::PDFPlugin::handleMouseEnterEvent):
+        (WebKit::PDFPlugin::handleContextMenuEvent):
+        (WebKit::PDFPlugin::pluginHandlesContentOffsetForAccessibilityHitTest const):
+        (WebKit::PDFPlugin::accessibilityAssociatedPluginParentForElement const):
+        (WebKit::PDFPlugin::updateCursor): Deleted.
+        * WebProcess/WebProcess.cpp:
+        (WebKit::WebProcess::initializeWebProcess):
+
 2019-08-14  Brian Burg  <bburg@apple.com>
 
         REGRESSION(r245320): Web Automation: Perform Actions hangs when pointerdown happens near top of page
index db5d2bf..146261d 100644 (file)
@@ -62,13 +62,8 @@ static NSString * const countOfBytesReceivedKeyPath = @"countOfBytesReceived";
     [task addObserver:self forKeyPath:countOfBytesReceivedKeyPath options:NSKeyValueObservingOptionNew | NSKeyValueObservingOptionInitial context:WKDownloadProgressBytesReceivedContext];
 
     self.kind = NSProgressKindFile;
-#if !PLATFORM(MAC) || __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
     self.fileOperationKind = NSProgressFileOperationKindDownloading;
     self.fileURL = fileURL;
-#else
-    [self setUserInfoObject:NSProgressFileOperationKindDownloading forKey:NSProgressFileOperationKindKey];
-    [self setUserInfoObject:fileURL forKey:NSProgressFileURLKey];
-#endif
     m_sandboxExtension = sandboxExtension;
 
     self.cancellable = YES;
index a95e5c9..4a61df1 100644 (file)
@@ -682,7 +682,7 @@ static inline void processServerTrustEvaluation(NetworkSessionCocoa *session, NS
         if (networkDataTask->shouldCaptureExtraNetworkLoadMetrics()) {
             networkLoadMetrics.priority = toNetworkLoadPriority(task.priority);
 
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000)
+#if PLATFORM(MAC) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000)
             networkLoadMetrics.remoteAddress = String(m._remoteAddressAndPort);
             networkLoadMetrics.connectionIdentifier = String([m._connectionIdentifier UUIDString]);
 #endif
@@ -698,7 +698,7 @@ static inline void processServerTrustEvaluation(NetworkSessionCocoa *session, NS
             }];
             networkLoadMetrics.requestHeaders = WTFMove(requestHeaders);
 
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000)
+#if PLATFORM(MAC) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000)
             uint64_t requestHeaderBytesSent = 0;
             uint64_t responseHeaderBytesReceived = 0;
             uint64_t responseBodyBytesReceived = 0;
index 5a49327..ae650a6 100644 (file)
@@ -52,10 +52,8 @@ bool defaultCustomPasteboardDataEnabled()
     return true;
 #elif PLATFORM(IOS_FAMILY)
     return WebCore::IOSApplication::isMobileSafari() || dyld_get_program_sdk_version() >= DYLD_IOS_VERSION_11_3;
-#elif PLATFORM(MAC) && __MAC_OS_X_VERSION_MAX_ALLOWED >= 101300
-    return WebCore::MacApplication::isSafari() || dyld_get_program_sdk_version() > DYLD_MACOSX_VERSION_10_13;
 #elif PLATFORM(MAC)
-    return WebCore::MacApplication::isSafari();
+    return WebCore::MacApplication::isSafari() || dyld_get_program_sdk_version() > DYLD_MACOSX_VERSION_10_13;
 #else
     return false;
 #endif
index a390e35..1ca4408 100644 (file)
 #define DEFAULT_ALLOW_MEDIA_CONTENT_TYPES_REQUIRING_HARDWARE_SUPPORT_AS_FALLBACK false
 #endif
 
-#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
+#if PLATFORM(MAC)
 #define DEFAULT_SUBPIXEL_ANTIALIASED_LAYER_TEXT_ENABLED true
 #else
 #define DEFAULT_SUBPIXEL_ANTIALIASED_LAYER_TEXT_ENABLED false
index 69b80d8..1bc143b 100644 (file)
@@ -60,7 +60,7 @@
 #import <rootless.h>
 #endif
 
-#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
+#if PLATFORM(MAC)
 #define USE_CACHE_COMPILED_SANDBOX 1
 #else
 #define USE_CACHE_COMPILED_SANDBOX 0
index bf934fb..5c6afa0 100644 (file)
@@ -573,11 +573,7 @@ public:
     void togglePictureInPicture();
     void updateMediaPlaybackControlsManager();
 
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
     AVTouchBarScrubber *mediaPlaybackControlsView() const;
-#else
-    AVFunctionBarScrubber *mediaPlaybackControlsView() const;
-#endif
 #endif
     NSTouchBar *textTouchBar() const;
     void dismissTextTouchBarPopoverItemWithIdentifier(NSString *);
@@ -631,13 +627,8 @@ private:
     RetainPtr<NSCustomTouchBarItem> m_exitFullScreenButton;
 
 #if ENABLE(WEB_PLAYBACK_CONTROLS_MANAGER)
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
     RetainPtr<AVTouchBarPlaybackControlsProvider> m_mediaTouchBarProvider;
     RetainPtr<AVTouchBarScrubber> m_mediaPlaybackControlsView;
-#else
-    RetainPtr<AVFunctionBarPlaybackControlsProvider> m_mediaTouchBarProvider;
-    RetainPtr<AVFunctionBarScrubber> m_mediaPlaybackControlsView;
-#endif
 #endif // ENABLE(WEB_PLAYBACK_CONTROLS_MANAGER)
 #endif // HAVE(TOUCH_BAR)
 
index f176f1a..cab0550 100644 (file)
 
 #if HAVE(TOUCH_BAR) && ENABLE(WEB_PLAYBACK_CONTROLS_MANAGER)
 SOFT_LINK_FRAMEWORK(AVKit)
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
 SOFT_LINK_CLASS(AVKit, AVTouchBarPlaybackControlsProvider)
 SOFT_LINK_CLASS(AVKit, AVTouchBarScrubber)
-#else
-SOFT_LINK_CLASS(AVKit, AVFunctionBarPlaybackControlsProvider)
-SOFT_LINK_CLASS(AVKit, AVFunctionBarScrubber)
-#endif // __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
 
 static NSString * const WKMediaExitFullScreenItem = @"WKMediaExitFullScreenItem";
 #endif // HAVE(TOUCH_BAR) && ENABLE(WEB_PLAYBACK_CONTROLS_MANAGER)
@@ -152,7 +147,7 @@ WTF_DECLARE_CF_TYPE_TRAIT(CGImage);
 - (BOOL)handleEventByKeyboardLayout:(NSEvent *)event;
 @end
 
-#if HAVE(TOUCH_BAR) && ENABLE(WEB_PLAYBACK_CONTROLS_MANAGER) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
+#if HAVE(TOUCH_BAR) && ENABLE(WEB_PLAYBACK_CONTROLS_MANAGER)
 // FIXME: Remove this once -setCanShowMediaSelectionButton: is declared in an SDK used by Apple's buildbot.
 @interface AVTouchBarScrubber ()
 - (void)setCanShowMediaSelectionButton:(BOOL)canShowMediaSelectionButton;
@@ -660,9 +655,7 @@ static const NSUInteger orderedListSegment = 2;
         colorPickerItem.target = self;
         colorPickerItem.action = @selector(_wkChangeColor:);
         colorPickerItem.showsAlpha = NO;
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
         colorPickerItem.allowedColorSpaces = @[ [NSColorSpace sRGBColorSpace] ];
-#endif
     }
 
     return item;
@@ -949,11 +942,7 @@ NSCandidateListTouchBarItem *WebViewImpl::candidateListTouchBarItem() const
 }
 
 #if ENABLE(WEB_PLAYBACK_CONTROLS_MANAGER)
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
 AVTouchBarScrubber *WebViewImpl::mediaPlaybackControlsView() const
-#else
-AVFunctionBarScrubber *WebViewImpl::mediaPlaybackControlsView() const
-#endif
 {
     if (m_page->hasActiveVideoForControlsManager())
         return m_mediaPlaybackControlsView.get();
@@ -1207,22 +1196,14 @@ void WebViewImpl::updateMediaTouchBar()
 {
 #if ENABLE(WEB_PLAYBACK_CONTROLS_MANAGER) && ENABLE(VIDEO_PRESENTATION_MODE)
     if (!m_mediaTouchBarProvider) {
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
         m_mediaTouchBarProvider = adoptNS([allocAVTouchBarPlaybackControlsProviderInstance() init]);
-#else
-        m_mediaTouchBarProvider = adoptNS([allocAVFunctionBarPlaybackControlsProviderInstance() init]);
-#endif // __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
     }
 
     if (!m_mediaPlaybackControlsView) {
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
         m_mediaPlaybackControlsView = adoptNS([allocAVTouchBarScrubberInstance() init]);
         // FIXME: Remove this once setCanShowMediaSelectionButton: is declared in an SDK used by Apple's buildbot.
         if ([m_mediaPlaybackControlsView respondsToSelector:@selector(setCanShowMediaSelectionButton:)])
             [m_mediaPlaybackControlsView setCanShowMediaSelectionButton:YES];
-#else
-        m_mediaPlaybackControlsView = adoptNS([allocAVFunctionBarScrubberInstance() init]);
-#endif // __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
     }
 
     updateMediaPlaybackControlsManager();
index 305c216..ac72eac 100644 (file)
@@ -48,11 +48,7 @@ static const CGFloat colorPickerMatrixNumColumns = 12.0;
 static const CGFloat colorPickerMatrixBorderWidth = 1.0;
 
 // FIXME: <rdar://problem/41173525> We should not have to track changes in NSPopoverColorWell's implementation.
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
 static const CGFloat colorPickerMatrixSwatchWidth = 13.0;
-#else
-static const CGFloat colorPickerMatrixSwatchWidth = 12.0;
-#endif
 
 @protocol WKPopoverColorWellDelegate <NSObject>
 - (void)didClosePopover;
index 9a589b0..9b283bc 100644 (file)
@@ -101,9 +101,7 @@ typedef NS_ENUM(NSInteger, PDFLayerControllerCursorType) {
 - (void)mouseEntered:(NSEvent *)event;
 - (void)mouseExited:(NSEvent *)event;
 
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
 - (NSMenu *)menuForEvent:(NSEvent *)event withUserInterfaceLayoutDirection:(NSUserInterfaceLayoutDirection)direction;
-#endif
 - (NSMenu *)menuForEvent:(NSEvent *)event;
 
 - (NSArray *)findString:(NSString *)string caseSensitive:(BOOL)isCaseSensitive highlightMatches:(BOOL)shouldHighlightMatches;
@@ -163,22 +161,18 @@ typedef NS_ENUM(NSInteger, PDFLayerControllerCursorType) {
 - (NSValue *)accessibilityRangeForLineAttributeForParameter:(id)parameter;
 - (NSString *)accessibilityStringForRangeAttributeForParameter:(id)parameter;
 - (NSValue *)accessibilityBoundsForRangeAttributeForParameter:(id)parameter;
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
 - (NSArray *)accessibilityChildren;
 - (void)setAccessibilityParent:(id)parent;
 - (id)accessibilityElementForAnnotation:(PDFAnnotation *)annotation;
-#endif
 
 #if ENABLE(WEBPROCESS_WINDOWSERVER_BLOCKING)
 - (void)setDeviceColorSpace:(CGColorSpaceRef)colorSpace;
 #endif
 @end
 
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
 @interface PDFAnnotation (AccessibilityPrivate)
 - (id)accessibilityNode;
 @end
-#endif
 
 #endif
 
index d41503b..e3de05a 100644 (file)
@@ -254,11 +254,6 @@ private:
 
     WebFrame* webFrame() const { return m_frame; }
 
-#if __MAC_OS_X_VERSION_MIN_REQUIRED < 101300
-    enum UpdateCursorMode { UpdateIfNeeded, ForceUpdate };
-    void updateCursor(const WebMouseEvent&, UpdateCursorMode = UpdateIfNeeded);
-#endif
-
     JSObjectRef makeJSPDFDoc(JSContextRef);
     static JSValueRef jsPDFDocPrint(JSContextRef, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception);
 
@@ -295,11 +290,6 @@ private:
 
     String m_lastFoundString;
 
-#if __MAC_OS_X_VERSION_MIN_REQUIRED < 101300
-    enum HitTestResult { None, Text };
-    HitTestResult m_lastHitTestResult { None };
-#endif
-
     RetainPtr<WKPDFLayerControllerDelegate> m_pdfLayerControllerDelegate;
 
     WebCore::IntSize m_size;
index bd1224b..f4cb96a 100644 (file)
@@ -156,9 +156,7 @@ static const int defaultScrollMagnitudeThresholdForPageFlip = 20;
 - (void)setPdfLayerController:(PDFLayerController *)pdfLayerController
 {
     _pdfLayerController = pdfLayerController;
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
     [_pdfLayerController setAccessibilityParent:self];
-#endif
 }
 
 ALLOW_DEPRECATED_IMPLEMENTATIONS_BEGIN
@@ -191,29 +189,10 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
     if ([attribute isEqualToString:NSAccessibilityPositionAttribute])
         return [NSValue valueWithPoint:_pdfPlugin->boundsOnScreen().location()];
 
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
     if ([attribute isEqualToString:NSAccessibilityChildrenAttribute])
         return @[ _pdfLayerController ];
     if ([attribute isEqualToString:NSAccessibilityRoleAttribute])
         return NSAccessibilityGroupRole;
-#else
-    if ([attribute isEqualToString:NSAccessibilityValueAttribute])
-        return [_pdfLayerController accessibilityValueAttribute];
-    if ([attribute isEqualToString:NSAccessibilitySelectedTextAttribute])
-        return [_pdfLayerController accessibilitySelectedTextAttribute];
-    if ([attribute isEqualToString:NSAccessibilitySelectedTextRangeAttribute])
-        return [_pdfLayerController accessibilitySelectedTextRangeAttribute];
-    if ([attribute isEqualToString:NSAccessibilityNumberOfCharactersAttribute])
-        return [_pdfLayerController accessibilityNumberOfCharactersAttribute];
-    if ([attribute isEqualToString:NSAccessibilityVisibleCharacterRangeAttribute])
-        return [_pdfLayerController accessibilityVisibleCharacterRangeAttribute];
-    if ([attribute isEqualToString:NSAccessibilityRoleAttribute])
-        return [_pdfLayerController accessibilityRoleAttribute];
-    if ([attribute isEqualToString:NSAccessibilityRoleDescriptionAttribute])
-        return [_pdfLayerController accessibilityRoleDescriptionAttribute];
-    if ([attribute isEqualToString:NSAccessibilityFocusedAttribute])
-        return [_parent accessibilityAttributeValue:NSAccessibilityFocusedAttribute];
-#endif
 
     return 0;
 }
@@ -260,16 +239,7 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
             NSAccessibilityPositionAttribute,
             NSAccessibilityFocusedAttribute,
             // PDFLayerController has its own accessibilityChildren.
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
             NSAccessibilityChildrenAttribute
-#else
-            NSAccessibilityRoleAttribute,
-            NSAccessibilityValueAttribute,
-            NSAccessibilitySelectedTextAttribute,
-            NSAccessibilitySelectedTextRangeAttribute,
-            NSAccessibilityNumberOfCharactersAttribute,
-            NSAccessibilityVisibleCharacterRangeAttribute
-#endif
             ];
         [attributeNames retain];
     }
@@ -281,16 +251,7 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_BEGIN
 - (NSArray *)accessibilityActionNames
 ALLOW_DEPRECATED_IMPLEMENTATIONS_END
 {
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
     return nil;
-#else
-    static NSArray *actionNames = 0;
-    
-    if (!actionNames)
-        actionNames = [[NSArray arrayWithObject:NSAccessibilityShowMenuAction] retain];
-    
-    return actionNames;
-#endif
 }
 
 ALLOW_DEPRECATED_IMPLEMENTATIONS_BEGIN
@@ -319,16 +280,11 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_BEGIN
 - (NSArray *)accessibilityParameterizedAttributeNames
 ALLOW_DEPRECATED_IMPLEMENTATIONS_END
 {
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
     return nil;
-#else
-    return [_pdfLayerController accessibilityParameterizedAttributeNames];
-#endif
 }
 
 - (id)accessibilityFocusedUIElement
 {
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
     if (WebKit::PDFPluginAnnotation* activeAnnotation = _pdfPlugin->activeAnnotation()) {
         if (WebCore::AXObjectCache* existingCache = _pdfPlugin->axObjectCache()) {
             if (WebCore::AccessibilityObject* object = existingCache->getOrCreate(activeAnnotation->element()))
@@ -338,12 +294,8 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
         }
     }
     return nil;
-#else
-    return self;
-#endif
 }
 
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
 - (id)accessibilityAssociatedControlForAnnotation:(PDFAnnotation *)annotation
 {
     // Only active annotations seem to have their associated controls available.
@@ -361,16 +313,11 @@ ALLOW_DEPRECATED_IMPLEMENTATIONS_END
 
     return object->wrapper();
 }
-#endif
 
 - (id)accessibilityHitTest:(NSPoint)point
 {
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
     point = _pdfPlugin->convertFromRootViewToPDFView(WebCore::IntPoint(point));
     return [_pdfLayerController accessibilityHitTest:point];
-#else
-    return self;
-#endif
 }
 
 @end
@@ -1019,12 +966,10 @@ void PDFPlugin::pdfDocumentDidLoad()
     if ([document isLocked])
         createPasswordEntryForm();
 
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
     if ([m_pdfLayerController respondsToSelector:@selector(setURLFragment:)]) {
         String pdfURLFragment = webFrame()->url().fragmentIdentifier();
         [m_pdfLayerController setURLFragment:pdfURLFragment];
     }
-#endif
 }
     
 void PDFPlugin::streamDidReceiveResponse(uint64_t streamID, const URL&, uint32_t, uint32_t, const String& mimeType, const String&, const String& suggestedFilename)
@@ -1432,23 +1377,6 @@ NSEvent *PDFPlugin::nsEventForWebMouseEvent(const WebMouseEvent& event)
     return [NSEvent mouseEventWithType:eventType location:positionInPDFViewCoordinates modifierFlags:modifierFlags timestamp:0 windowNumber:0 context:nil eventNumber:0 clickCount:event.clickCount() pressure:0];
 }
 
-#if __MAC_OS_X_VERSION_MIN_REQUIRED < 101300
-void PDFPlugin::updateCursor(const WebMouseEvent& event, UpdateCursorMode mode)
-{
-    HitTestResult hitTestResult = None;
-
-    PDFSelection *selectionUnderMouse = [m_pdfLayerController getSelectionForWordAtPoint:convertFromPluginToPDFView(event.position())];
-    if (selectionUnderMouse && [[selectionUnderMouse string] length])
-        hitTestResult = Text;
-
-    if (hitTestResult == m_lastHitTestResult && mode == UpdateIfNeeded)
-        return;
-
-    webFrame()->page()->send(Messages::WebPageProxy::SetCursor(hitTestResult == Text ? WebCore::iBeamCursor() : WebCore::pointerCursor()));
-    m_lastHitTestResult = hitTestResult;
-}
-#endif
-
 bool PDFPlugin::handleMouseEvent(const WebMouseEvent& event)
 {
     PlatformMouseEvent platformEvent = platform(event);
@@ -1490,9 +1418,6 @@ bool PDFPlugin::handleMouseEvent(const WebMouseEvent& event)
     switch (event.type()) {
     case WebEvent::MouseMove:
         mouseMovedInContentArea();
-#if __MAC_OS_X_VERSION_MIN_REQUIRED < 101300
-        updateCursor(event);
-#endif
 
         if (targetScrollbar) {
             if (!targetScrollbarForLastMousePosition) {
@@ -1557,9 +1482,6 @@ bool PDFPlugin::handleMouseEvent(const WebMouseEvent& event)
 bool PDFPlugin::handleMouseEnterEvent(const WebMouseEvent& event)
 {
     mouseEnteredContentArea();
-#if __MAC_OS_X_VERSION_MIN_REQUIRED < 101300
-    updateCursor(event, ForceUpdate);
-#endif
     return false;
 }
 
@@ -1586,12 +1508,8 @@ bool PDFPlugin::handleContextMenuEvent(const WebMouseEvent& event)
     FrameView* frameView = webFrame()->coreFrame()->view();
     IntPoint point = frameView->contentsToScreen(IntRect(frameView->windowToContents(event.position()), IntSize())).location();
 
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
     NSUserInterfaceLayoutDirection uiLayoutDirection = webPage->userInterfaceLayoutDirection() == UserInterfaceLayoutDirection::LTR ? NSUserInterfaceLayoutDirectionLeftToRight : NSUserInterfaceLayoutDirectionRightToLeft;
     NSMenu *nsMenu = [m_pdfLayerController menuForEvent:nsEventForWebMouseEvent(event) withUserInterfaceLayoutDirection:uiLayoutDirection];
-#else
-    NSMenu *nsMenu = [m_pdfLayerController menuForEvent:nsEventForWebMouseEvent(event)];
-#endif
 
     if (!nsMenu)
         return false;
@@ -1775,11 +1693,7 @@ RefPtr<SharedBuffer> PDFPlugin::liveResourceData() const
 bool PDFPlugin::pluginHandlesContentOffsetForAccessibilityHitTest() const
 {
     // The PDF plugin handles the scroll view offset natively as part of the layer conversions.
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
     return true;
-#else
-    return false;
-#endif
 }
 
     
@@ -2218,7 +2132,6 @@ NSData *PDFPlugin::liveData() const
 
 id PDFPlugin::accessibilityAssociatedPluginParentForElement(WebCore::Element* element) const
 {
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
     if (!m_activeAnnotation)
         return nil;
 
@@ -2226,9 +2139,6 @@ id PDFPlugin::accessibilityAssociatedPluginParentForElement(WebCore::Element* el
         return nil;
 
     return [m_activeAnnotation->annotation() accessibilityNode];
-#else
-    return nil;
-#endif
 }
 
 NSObject *PDFPlugin::accessibilityObject() const
index a2da12c..7b48a0f 100644 (file)
@@ -314,7 +314,7 @@ void WebProcess::initializeWebProcess(WebProcessCreationParameters&& parameters)
             auto maintainMemoryCache = m_isSuspending && m_hasSuspendedPageProxy ? WebCore::MaintainMemoryCache::Yes : WebCore::MaintainMemoryCache::No;
             WebCore::releaseMemory(critical, synchronous, maintainPageCache, maintainMemoryCache);
         });
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MAX_ALLOWED >= 101200) || PLATFORM(GTK) || PLATFORM(WPE)
+#if PLATFORM(MAC) || PLATFORM(GTK) || PLATFORM(WPE)
         memoryPressureHandler.setShouldUsePeriodicMemoryMonitor(true);
         memoryPressureHandler.setMemoryKillCallback([this] () {
             WebCore::logMemoryStatisticsAtTimeOfDeath();
index 89ee3cb..0cc4acb 100644 (file)
@@ -1,3 +1,32 @@
+2019-08-14  Keith Rollin  <krollin@apple.com>
+
+        Remove support for macOS < 10.13
+        https://bugs.webkit.org/show_bug.cgi?id=200694
+        <rdar://problem/54278851>
+
+        Reviewed by Youenn Fablet.
+
+        Update conditionals that reference __MAC_OS_X_VERSION_MIN_REQUIRED and
+        __MAC_OS_X_VERSION_MAX_ALLOWED, assuming that they both have values >=
+        101300. This means that expressions like
+        "__MAC_OS_X_VERSION_MIN_REQUIRED < 101300" are always False and
+        "__MAC_OS_X_VERSION_MIN_REQUIRED >= 101300" are always True.
+
+        * WebCoreSupport/WebEditorClient.mm:
+        * WebView/PDFViewSPI.h:
+        * WebView/WebHTMLView.mm:
+        (-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:stopAtLayerBackedViews:_recursive:displayRectIgnoringOpacity:inContext:shouldChangeFontReferenceColor:stopAtLayerBackedViews:_recursive:displayRectIgnoringOpacity:inContext:shouldChangeFontReferenceColor:]):
+        (-[WebHTMLView _recursive:displayRectIgnoringOpacity:inGraphicsContext:shouldChangeFontReferenceColor:]):
+        (-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:stopAtLayerBackedViews:_recursive:displayRectIgnoringOpacity:inContext:shouldChangeFontReferenceColor:stopAtLayerBackedViews:_recursive:displayRectIgnoringOpacity:inContext:shouldChangeFontReferenceColor:_recursive:displayRectIgnoringOpacity:inContext:topView:]): Deleted.
+        (-[WebHTMLView _recursive:displayRectIgnoringOpacity:inGraphicsContext:shouldChangeFontReferenceColor:_recursive:displayRectIgnoringOpacity:inGraphicsContext:CGContext:topView:shouldChangeFontReferenceColor:]): Deleted.
+        * WebView/WebPreferences.mm:
+        (+[WebPreferences initialize]):
+        * WebView/WebView.mm:
+        (-[WebView performDragOperation:]):
+        (LayerFlushController::flushLayers):
+        (-[WebView updateMediaTouchBar]):
+        * WebView/WebViewData.h:
+
 2019-08-14  Youenn Fablet  <youenn@apple.com>
 
         ThreadableBlobRegistry::blobSize should take a SessionID as parameter
index 426595f..fffb21c 100644 (file)
@@ -102,7 +102,7 @@ using namespace HTMLNames;
 @end
 #endif
 
-#if (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED < 110000) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101300)
+#if (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED < 110000)
 @interface NSAttributedString (WebNSAttributedStringDetails)
 - (DOMDocumentFragment *)_documentFromRange:(NSRange)range document:(DOMDocument *)document documentAttributes:(NSDictionary *)attributes subresources:(NSArray **)subresources;
 @end
@@ -419,7 +419,7 @@ void WebEditorClient::getClientPasteboardDataForRange(WebCore::Range*, Vector<St
     // Not implemented WebKit, only WebKit2.
 }
 
-#if (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300)
+#if (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000) || PLATFORM(MAC)
 
 // FIXME: Remove both this stub and the real version of this function below once we don't need the real version on any supported platform.
 // This stub is not used outside WebKit, but it's here so we won't get a linker error.
index f688dda..201b746 100644 (file)
 
 #else
 
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101200
-
 @interface PDFView ()
 - (PDFKitPlatformScrollView *)documentScrollView;
 @end
 
 #endif
-
-#endif
index 3c1e667..2bfa259 100644 (file)
@@ -729,12 +729,9 @@ extern "C" NSString *NSTextInputReplacementRangeAttributeName;
 - (void)_recursive:(BOOL)recursive displayRectIgnoringOpacity:(NSRect)displayRect inContext:(NSGraphicsContext *)graphicsContext stopAtLayerBackedViews:(BOOL)stopAtLayerBackedViews;
 #elif __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
 - (void)_recursive:(BOOL)recursive displayRectIgnoringOpacity:(NSRect)displayRect inContext:(NSGraphicsContext *)graphicsContext shouldChangeFontReferenceColor:(BOOL)shouldChangeFontReferenceColor stopAtLayerBackedViews:(BOOL)stopAtLayerBackedViews;
-#elif __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
+#else
 - (void)_recursive:(BOOL)recurse displayRectIgnoringOpacity:(NSRect)displayRect inContext:(NSGraphicsContext *)context shouldChangeFontReferenceColor:(BOOL)shouldChangeFontReferenceColor;
 - (void)_recursive:(BOOL)recurseX displayRectIgnoringOpacity:(NSRect)displayRect inGraphicsContext:(NSGraphicsContext *)graphicsContext shouldChangeFontReferenceColor:(BOOL)shouldChangeFontReferenceColor;
-#else
-- (void)_recursive:(BOOL)recurse displayRectIgnoringOpacity:(NSRect)displayRect inContext:(NSGraphicsContext *)context topView:(BOOL)topView;
-- (void)_recursive:(BOOL)recurseX displayRectIgnoringOpacity:(NSRect)displayRect inGraphicsContext:(NSGraphicsContext *)graphicsContext CGContext:(CGContextRef)ctx topView:(BOOL)isTopView shouldChangeFontReferenceColor:(BOOL)shouldChangeFontReferenceColor;
 #endif
 #endif
 - (void)_setDrawsOwnDescendants:(BOOL)drawsOwnDescendants;
@@ -1676,10 +1673,8 @@ ALLOW_DEPRECATED_DECLARATIONS_END
 - (void)_recursive:(BOOL)recursive displayRectIgnoringOpacity:(NSRect)displayRect inContext:(NSGraphicsContext *)graphicsContext stopAtLayerBackedViews:(BOOL)stopAtLayerBackedViews
 #elif __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
 - (void)_recursive:(BOOL)recursive displayRectIgnoringOpacity:(NSRect)displayRect inContext:(NSGraphicsContext *)graphicsContext shouldChangeFontReferenceColor:(BOOL)shouldChangeFontReferenceColor stopAtLayerBackedViews:(BOOL)stopAtLayerBackedViews
-#elif __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
-- (void)_recursive:(BOOL)recurse displayRectIgnoringOpacity:(NSRect)displayRect inContext:(NSGraphicsContext *)context shouldChangeFontReferenceColor:(BOOL)shouldChangeFontReferenceColor
 #else
-- (void)_recursive:(BOOL)recurse displayRectIgnoringOpacity:(NSRect)displayRect inContext:(NSGraphicsContext *)context topView:(BOOL)topView
+- (void)_recursive:(BOOL)recurse displayRectIgnoringOpacity:(NSRect)displayRect inContext:(NSGraphicsContext *)context shouldChangeFontReferenceColor:(BOOL)shouldChangeFontReferenceColor
 #endif
 {
     [self _setAsideSubviews];
@@ -1687,21 +1682,15 @@ ALLOW_DEPRECATED_DECLARATIONS_END
     [super _recursive:recursive displayRectIgnoringOpacity:displayRect inContext:graphicsContext stopAtLayerBackedViews:stopAtLayerBackedViews];
 #elif __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
     [super _recursive:recursive displayRectIgnoringOpacity:displayRect inContext:graphicsContext shouldChangeFontReferenceColor:shouldChangeFontReferenceColor stopAtLayerBackedViews:stopAtLayerBackedViews];
-#elif __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
-    [super _recursive:recurse displayRectIgnoringOpacity:displayRect inContext:context shouldChangeFontReferenceColor:shouldChangeFontReferenceColor];
 #else
-    [super _recursive:recurse displayRectIgnoringOpacity:displayRect inContext:context topView:topView];
+    [super _recursive:recurse displayRectIgnoringOpacity:displayRect inContext:context shouldChangeFontReferenceColor:shouldChangeFontReferenceColor];
 #endif
     [self _restoreSubviews];
 }
 
 #if __MAC_OS_X_VERSION_MIN_REQUIRED < 101400
 // Don't let AppKit even draw subviews. We take care of that.
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
 - (void)_recursive:(BOOL)recurseX displayRectIgnoringOpacity:(NSRect)displayRect inGraphicsContext:(NSGraphicsContext *)graphicsContext shouldChangeFontReferenceColor:(BOOL)shouldChangeFontReferenceColor
-#else
-- (void)_recursive:(BOOL)recurseX displayRectIgnoringOpacity:(NSRect)displayRect inGraphicsContext:(NSGraphicsContext *)graphicsContext CGContext:(CGContextRef)ctx topView:(BOOL)isTopView shouldChangeFontReferenceColor:(BOOL)shouldChangeFontReferenceColor
-#endif
 {
     BOOL didSetAsideSubviews = NO;
 
@@ -1710,11 +1699,7 @@ ALLOW_DEPRECATED_DECLARATIONS_END
         didSetAsideSubviews = YES;
     }
 
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
     [super _recursive:recurseX displayRectIgnoringOpacity:displayRect inGraphicsContext:graphicsContext shouldChangeFontReferenceColor:shouldChangeFontReferenceColor];
-#else
-    [super _recursive:recurseX displayRectIgnoringOpacity:displayRect inGraphicsContext:graphicsContext CGContext:ctx topView:isTopView shouldChangeFontReferenceColor:shouldChangeFontReferenceColor];
-#endif
 
     if (didSetAsideSubviews)
         [self _restoreSubviews];
index d4f22ba..d70036d 100644 (file)
@@ -485,14 +485,12 @@ public:
         @NO, WebKitJavaScriptCanAccessClipboardPreferenceKey,
         @YES, WebKitXSSAuditorEnabledPreferenceKey,
         @YES, WebKitAcceleratedCompositingEnabledPreferenceKey,
-
-#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
+#if PLATFORM(MAC)
 #define DEFAULT_SUBPIXEL_ANTIALIASED_LAYER_TEXT_ENABLED YES
 #else
 #define DEFAULT_SUBPIXEL_ANTIALIASED_LAYER_TEXT_ENABLED NO
 #endif
         [NSNumber numberWithBool:DEFAULT_SUBPIXEL_ANTIALIASED_LAYER_TEXT_ENABLED], WebKitSubpixelAntialiasedLayerTextEnabledPreferenceKey,
-
         @NO, WebKitDisplayListDrawingEnabledPreferenceKey,
 #if PLATFORM(IOS_FAMILY) && !PLATFORM(IOS_FAMILY_SIMULATOR)
         @YES, WebKitAcceleratedDrawingEnabledPreferenceKey,
index bccc64b..b8d9711 100644 (file)
 
 #if HAVE(TOUCH_BAR) && ENABLE(WEB_PLAYBACK_CONTROLS_MANAGER)
 SOFT_LINK_FRAMEWORK(AVKit)
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
 SOFT_LINK_CLASS(AVKit, AVTouchBarPlaybackControlsProvider)
 SOFT_LINK_CLASS(AVKit, AVTouchBarScrubber)
-#else
-SOFT_LINK_CLASS(AVKit, AVFunctionBarPlaybackControlsProvider)
-SOFT_LINK_CLASS(AVKit, AVFunctionBarScrubber)
-#endif // __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
 #endif // HAVE(TOUCH_BAR) && ENABLE(WEB_PLAYBACK_CONTROLS_MANAGER)
 
 #if !PLATFORM(IOS_FAMILY)
@@ -6767,7 +6762,6 @@ static NSString * const backingPropertyOldScaleFactorKey = @"NSBackingPropertyOl
     IntPoint global(globalPoint([draggingInfo draggingLocation], [self window]));
     DragData *dragData = new DragData(draggingInfo, client, global, static_cast<DragOperation>([draggingInfo draggingSourceOperationMask]), [self applicationFlags:draggingInfo]);
 
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101200
     NSArray* types = draggingInfo.draggingPasteboard.types;
     if (![types containsObject:WebArchivePboardType] && [types containsObject:legacyFilesPromisePasteboardType()]) {
         
@@ -6812,7 +6806,6 @@ static NSString * const backingPropertyOldScaleFactorKey = @"NSBackingPropertyOl
 
         return true;
     }
-#endif
     bool returnValue = core(self)->dragController().performDragOperation(*dragData);
     delete dragData;
 
@@ -9201,13 +9194,6 @@ bool LayerFlushController::flushLayers()
 
 #if PLATFORM(MAC)
     NSWindow *window = [m_webView window];
-#if __MAC_OS_X_VERSION_MIN_REQUIRED < 101300
-    // An NSWindow may not display in the next runloop cycle after dirtying due to delayed window display logic,
-    // in which case this observer can fire first. So if the window is due for a display, don't commit
-    // layer changes, otherwise they'll show on screen before the view drawing.
-    if (window.viewsNeedDisplay)
-        return false;
-#endif // __MAC_OS_X_VERSION_MIN_REQUIRED < 101300
 #endif // PLATFORM(MAC)
 
 #if PLATFORM(IOS_FAMILY)
@@ -9871,23 +9857,14 @@ static NSTextAlignment nsTextAlignmentFromRenderStyle(const RenderStyle* style)
 {
 #if ENABLE(WEB_PLAYBACK_CONTROLS_MANAGER) && ENABLE(VIDEO_PRESENTATION_MODE)
     if (!_private->mediaTouchBarProvider) {
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
         _private->mediaTouchBarProvider = adoptNS([allocAVTouchBarPlaybackControlsProviderInstance() init]);
-#else
-        _private->mediaTouchBarProvider = adoptNS([allocAVFunctionBarPlaybackControlsProviderInstance() init]);
-#endif // __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
     }
 
     if (![_private->mediaTouchBarProvider playbackControlsController]) {
         ASSERT(_private->playbackSessionInterface);
         WebPlaybackControlsManager *manager = _private->playbackSessionInterface->playBackControlsManager();
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
         [_private->mediaTouchBarProvider setPlaybackControlsController:(id <AVTouchBarPlaybackControlsControlling>)manager];
         [_private->mediaPlaybackControlsView setPlaybackControlsController:(id <AVTouchBarPlaybackControlsControlling>)manager];
-#else
-        [_private->mediaTouchBarProvider setPlaybackControlsController:(id <AVFunctionBarPlaybackControlsControlling>)manager];
-        [_private->mediaPlaybackControlsView setPlaybackControlsController:(id <AVFunctionBarPlaybackControlsControlling>)manager];
-#endif
     }
 #endif
 }
index 72d014c..68037c0 100644 (file)
@@ -191,13 +191,8 @@ private:
     RetainPtr<NSCandidateListTouchBarItem> _plainTextCandidateListTouchBarItem;
     RetainPtr<NSCandidateListTouchBarItem> _passwordTextCandidateListTouchBarItem;
 #if ENABLE(WEB_PLAYBACK_CONTROLS_MANAGER)
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
     RetainPtr<AVTouchBarPlaybackControlsProvider> mediaTouchBarProvider;
     RetainPtr<AVTouchBarScrubber> mediaPlaybackControlsView;
-#else
-    RetainPtr<AVFunctionBarPlaybackControlsProvider> mediaTouchBarProvider;
-    RetainPtr<AVFunctionBarScrubber> mediaPlaybackControlsView;
-#endif
 #endif // ENABLE(WEB_PLAYBACK_CONTROLS_MANAGER)
 
     BOOL _canCreateTouchBars;
index 04afc8b..81fc20d 100644 (file)
@@ -1,3 +1,34 @@
+2019-08-14  Keith Rollin  <krollin@apple.com>
+
+        Remove support for macOS < 10.13
+        https://bugs.webkit.org/show_bug.cgi?id=200694
+        <rdar://problem/54278851>
+
+        Reviewed by Youenn Fablet.
+
+        Update conditionals that reference __MAC_OS_X_VERSION_MIN_REQUIRED and
+        __MAC_OS_X_VERSION_MAX_ALLOWED, assuming that they both have values >=
+        101300. This means that expressions like
+        "__MAC_OS_X_VERSION_MIN_REQUIRED < 101300" are always False and
+        "__MAC_OS_X_VERSION_MIN_REQUIRED >= 101300" are always True.
+
+        * MiniBrowser/AppKitCompatibilityDeclarations.h:
+        * MiniBrowser/mac/SettingsController.m:
+        (-[SettingsController init]):
+        * TestWebKitAPI/Tests/WebCore/FontCache.cpp:
+        (TestWebKitAPI::FontCacheTest::SetUp): Deleted.
+        (TestWebKitAPI::createPlatformFont): Deleted.
+        (TestWebKitAPI::compareFonts): Deleted.
+        (TestWebKitAPI::TEST_F): Deleted.
+        * TestWebKitAPI/Tests/WebCore/cocoa/AVFoundationSoftLinkTest.mm:
+        (TestWebKitAPI::TEST):
+        * TestWebKitAPI/Tests/WebKitCocoa/ExitFullscreenOnEnterPiP.mm:
+        * TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm:
+        * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
+        * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
+        (runWebsiteDataStoreCustomPaths):
+        * TestWebKitAPI/mac/NSFontPanelTesting.mm:
+
 2019-08-14  Yusuke Suzuki  <ysuzuki@apple.com>
 
         [JSC] Less contended MetaAllocator
index 20a6151..81d8df2 100644 (file)
 
 #pragma once
 
-#if __MAC_OS_X_VERSION_MAX_ALLOWED < 101300
-
-#import <AppKit/AppKit.h>
-
-typedef NSInteger NSControlStateValue;
-static const NSControlStateValue NSControlStateValueOff = NSOffState;
-static const NSControlStateValue NSControlStateValueOn = NSOnState;
-
-#endif
-
index cc4c5f4..1cbc2b0 100644 (file)
@@ -104,9 +104,7 @@ typedef NS_ENUM(NSInteger, DebugOverylayMenuItemTag) {
         UseWebKit2ByDefaultPreferenceKey,
         AcceleratedDrawingEnabledPreferenceKey,
         SimpleLineLayoutEnabledPreferenceKey,
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
         SubpixelAntialiasedLayerTextEnabledPreferenceKey,
-#endif
         LargeImageAsyncDecodingEnabledPreferenceKey,
         AnimatedImageAsyncDecodingEnabledPreferenceKey,
     ];
index 7bab1c4..f1ceacc 100644 (file)
 
 #include "config.h"
 
-#include <CoreText/CoreText.h>
-#include <JavaScriptCore/InitializeThreading.h>
-#include <WebCore/FontCache.h>
-#include <WebCore/FontCascadeDescription.h>
-#include <WebCore/FontPlatformData.h>
-#include <wtf/MainThread.h>
-#include <wtf/RunLoop.h>
-#include <wtf/Vector.h>
-
-using namespace WebCore;
-
-namespace TestWebKitAPI {
-
-#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101300
-
-class FontCacheTest : public testing::Test {
-public:
-    virtual void SetUp()
-    {
-        WTF::initializeMainThread();
-        JSC::initializeThreading();
-        RunLoop::initializeMainRunLoop();
-    }
-};
-
-static std::unique_ptr<FontPlatformData> createPlatformFont(const char* familyName, float weight, float italic, float stretch, float size)
-{
-    AtomString familyNameString(familyName);
-    FontCascadeDescription description;
-    description.setOneFamily(familyNameString);
-    description.setWeight(FontSelectionValue(weight));
-    description.setItalic(FontSelectionValue(italic));
-    description.setStretch(FontSelectionValue(stretch));
-    description.setComputedSize(size);
-
-    auto& fontCache = FontCache::singleton();
-    return fontCache.createFontPlatformDataForTesting(description, familyNameString);
-}
-
-static bool compareFonts(const char* familyName, float weight, float italic, float stretch, CFStringRef expectedPostScriptName)
-{
-    float size = 80;
-    auto platformFont = createPlatformFont(familyName, weight, italic, stretch, size);
-    auto expectedFont = adoptCF(CTFontCreateWithName(expectedPostScriptName, size, nullptr));
-    return platformFont && expectedFont && platformFont->font() && CFEqual(platformFont->font(), expectedFont.get());
-}
-
-TEST_F(FontCacheTest, FontLookupFromFamilyName)
-{
-    EXPECT_TRUE(compareFonts("Apple SD Gothic Neo", 100, 0 , 100, CFSTR("AppleSDGothicNeo-Thin")));
-    EXPECT_TRUE(compareFonts("Apple SD Gothic Neo", 100, 20, 100, CFSTR("AppleSDGothicNeo-Thin")));
-    EXPECT_TRUE(compareFonts("Apple SD Gothic Neo", 200, 0 , 100, CFSTR("AppleSDGothicNeo-UltraLight")));
-    EXPECT_TRUE(compareFonts("Apple SD Gothic Neo", 200, 20, 100, CFSTR("AppleSDGothicNeo-UltraLight")));
-    EXPECT_TRUE(compareFonts("Apple SD Gothic Neo", 300, 0 , 100, CFSTR("AppleSDGothicNeo-Light")));
-    EXPECT_TRUE(compareFonts("Apple SD Gothic Neo", 300, 20, 100, CFSTR("AppleSDGothicNeo-Light")));
-    EXPECT_TRUE(compareFonts("Apple SD Gothic Neo", 400, 0 , 100, CFSTR("AppleSDGothicNeo-Regular")));
-    EXPECT_TRUE(compareFonts("Apple SD Gothic Neo", 400, 20, 100, CFSTR("AppleSDGothicNeo-Regular")));
-    EXPECT_TRUE(compareFonts("Apple SD Gothic Neo", 500, 0 , 100, CFSTR("AppleSDGothicNeo-Medium")));
-    EXPECT_TRUE(compareFonts("Apple SD Gothic Neo", 500, 20, 100, CFSTR("AppleSDGothicNeo-Medium")));
-    EXPECT_TRUE(compareFonts("Apple SD Gothic Neo", 600, 0 , 100, CFSTR("AppleSDGothicNeo-SemiBold")));
-    EXPECT_TRUE(compareFonts("Apple SD Gothic Neo", 600, 20, 100, CFSTR("AppleSDGothicNeo-SemiBold")));
-    EXPECT_TRUE(compareFonts("Apple SD Gothic Neo", 700, 0 , 100, CFSTR("AppleSDGothicNeo-Bold")));
-    EXPECT_TRUE(compareFonts("Apple SD Gothic Neo", 700, 20, 100, CFSTR("AppleSDGothicNeo-Bold")));
-    EXPECT_TRUE(compareFonts("Apple SD Gothic Neo", 800, 0 , 100, CFSTR("AppleSDGothicNeo-ExtraBold")));
-    EXPECT_TRUE(compareFonts("Apple SD Gothic Neo", 800, 20, 100, CFSTR("AppleSDGothicNeo-ExtraBold")));
-    EXPECT_TRUE(compareFonts("Apple SD Gothic Neo", 900, 0 , 100, CFSTR("AppleSDGothicNeo-Heavy")));
-    EXPECT_TRUE(compareFonts("Apple SD Gothic Neo", 900, 20, 100, CFSTR("AppleSDGothicNeo-Heavy")));
-    EXPECT_TRUE(compareFonts("Arial", 100, 0 , 100, CFSTR("ArialMT")));
-    EXPECT_TRUE(compareFonts("Arial", 100, 20, 100, CFSTR("Arial-ItalicMT")));
-    EXPECT_TRUE(compareFonts("Arial", 200, 0 , 100, CFSTR("ArialMT")));
-    EXPECT_TRUE(compareFonts("Arial", 200, 20, 100, CFSTR("Arial-ItalicMT")));
-    EXPECT_TRUE(compareFonts("Arial", 300, 0 , 100, CFSTR("ArialMT")));
-    EXPECT_TRUE(compareFonts("Arial", 300, 20, 100, CFSTR("Arial-ItalicMT")));
-    EXPECT_TRUE(compareFonts("Arial", 400, 0 , 100, CFSTR("ArialMT")));
-    EXPECT_TRUE(compareFonts("Arial", 400, 20, 100, CFSTR("Arial-ItalicMT")));
-    EXPECT_TRUE(compareFonts("Arial", 500, 0 , 100, CFSTR("ArialMT")));
-    EXPECT_TRUE(compareFonts("Arial", 500, 20, 100, CFSTR("Arial-ItalicMT")));
-    EXPECT_TRUE(compareFonts("Arial", 600, 0 , 100, CFSTR("Arial-BoldMT")));
-    EXPECT_TRUE(compareFonts("Arial", 600, 20, 100, CFSTR("Arial-BoldItalicMT")));
-    EXPECT_TRUE(compareFonts("Arial", 700, 0 , 100, CFSTR("Arial-BoldMT")));
-    EXPECT_TRUE(compareFonts("Arial", 700, 20, 100, CFSTR("Arial-BoldItalicMT")));
-    EXPECT_TRUE(compareFonts("Arial", 800, 0 , 100, CFSTR("Arial-BoldMT")));
-    EXPECT_TRUE(compareFonts("Arial", 800, 20, 100, CFSTR("Arial-BoldItalicMT")));
-    EXPECT_TRUE(compareFonts("Arial", 900, 0 , 100, CFSTR("Arial-BoldMT")));
-    EXPECT_TRUE(compareFonts("Arial", 900, 20, 100, CFSTR("Arial-BoldItalicMT")));
-    EXPECT_TRUE(compareFonts("Avenir Next", 100, 0 , 100, CFSTR("AvenirNext-UltraLight")));
-    EXPECT_TRUE(compareFonts("Avenir Next", 100, 20, 100, CFSTR("AvenirNext-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("Avenir Next", 200, 0 , 100, CFSTR("AvenirNext-UltraLight")));
-    EXPECT_TRUE(compareFonts("Avenir Next", 200, 20, 100, CFSTR("AvenirNext-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("Avenir Next", 300, 0 , 100, CFSTR("AvenirNext-UltraLight")));
-    EXPECT_TRUE(compareFonts("Avenir Next", 300, 20, 100, CFSTR("AvenirNext-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("Avenir Next", 400, 0 , 100, CFSTR("AvenirNext-Regular")));
-    EXPECT_TRUE(compareFonts("Avenir Next", 400, 20, 100, CFSTR("AvenirNext-Italic")));
-    EXPECT_TRUE(compareFonts("Avenir Next", 500, 0 , 100, CFSTR("AvenirNext-Medium")));
-    EXPECT_TRUE(compareFonts("Avenir Next", 500, 20, 100, CFSTR("AvenirNext-MediumItalic")));
-    EXPECT_TRUE(compareFonts("Avenir Next", 600, 0 , 100, CFSTR("AvenirNext-DemiBold")));
-    EXPECT_TRUE(compareFonts("Avenir Next", 600, 20, 100, CFSTR("AvenirNext-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("Avenir Next", 700, 0 , 100, CFSTR("AvenirNext-Bold")));
-    EXPECT_TRUE(compareFonts("Avenir Next", 700, 20, 100, CFSTR("AvenirNext-BoldItalic")));
-    EXPECT_TRUE(compareFonts("Avenir Next", 800, 0 , 100, CFSTR("AvenirNext-Heavy")));
-    EXPECT_TRUE(compareFonts("Avenir Next", 800, 20, 100, CFSTR("AvenirNext-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("Avenir Next", 900, 0 , 100, CFSTR("AvenirNext-Heavy")));
-    EXPECT_TRUE(compareFonts("Avenir Next", 900, 20, 100, CFSTR("AvenirNext-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("Avenir", 100, 0 , 100, CFSTR("Avenir-Light")));
-    EXPECT_TRUE(compareFonts("Avenir", 100, 20, 100, CFSTR("Avenir-LightOblique")));
-    EXPECT_TRUE(compareFonts("Avenir", 200, 0 , 100, CFSTR("Avenir-Light")));
-    EXPECT_TRUE(compareFonts("Avenir", 200, 20, 100, CFSTR("Avenir-LightOblique")));
-    EXPECT_TRUE(compareFonts("Avenir", 300, 0 , 100, CFSTR("Avenir-Light")));
-    EXPECT_TRUE(compareFonts("Avenir", 300, 20, 100, CFSTR("Avenir-LightOblique")));
-    EXPECT_TRUE(compareFonts("Avenir", 400, 0 , 100, CFSTR("Avenir-Book")));
-    EXPECT_TRUE(compareFonts("Avenir", 400, 20, 100, CFSTR("Avenir-BookOblique")));
-    EXPECT_TRUE(compareFonts("Avenir", 500, 0 , 100, CFSTR("Avenir-Medium")));
-    EXPECT_TRUE(compareFonts("Avenir", 500, 20, 100, CFSTR("Avenir-MediumOblique")));
-    EXPECT_TRUE(compareFonts("Avenir", 600, 0 , 100, CFSTR("Avenir-Black")));
-    EXPECT_TRUE(compareFonts("Avenir", 600, 20, 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir", 700, 0 , 100, CFSTR("Avenir-Black")));
-    EXPECT_TRUE(compareFonts("Avenir", 700, 20, 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir", 800, 0 , 100, CFSTR("Avenir-Black")));
-    EXPECT_TRUE(compareFonts("Avenir", 800, 20, 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir", 900, 0 , 100, CFSTR("Avenir-Heavy")));
-    EXPECT_TRUE(compareFonts("Avenir", 900, 20, 100, CFSTR("Avenir-HeavyOblique")));
-    EXPECT_TRUE(compareFonts("Baskerville", 100, 0 , 100, CFSTR("Baskerville")));
-    EXPECT_TRUE(compareFonts("Baskerville", 100, 20, 100, CFSTR("Baskerville-Italic")));
-    EXPECT_TRUE(compareFonts("Baskerville", 200, 0 , 100, CFSTR("Baskerville")));
-    EXPECT_TRUE(compareFonts("Baskerville", 200, 20, 100, CFSTR("Baskerville-Italic")));
-    EXPECT_TRUE(compareFonts("Baskerville", 300, 0 , 100, CFSTR("Baskerville")));
-    EXPECT_TRUE(compareFonts("Baskerville", 300, 20, 100, CFSTR("Baskerville-Italic")));
-    EXPECT_TRUE(compareFonts("Baskerville", 400, 0 , 100, CFSTR("Baskerville")));
-    EXPECT_TRUE(compareFonts("Baskerville", 400, 20, 100, CFSTR("Baskerville-Italic")));
-    EXPECT_TRUE(compareFonts("Baskerville", 500, 0 , 100, CFSTR("Baskerville")));
-    EXPECT_TRUE(compareFonts("Baskerville", 500, 20, 100, CFSTR("Baskerville-Italic")));
-    EXPECT_TRUE(compareFonts("Baskerville", 600, 0 , 100, CFSTR("Baskerville-SemiBold")));
-    EXPECT_TRUE(compareFonts("Baskerville", 600, 20, 100, CFSTR("Baskerville-SemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville", 700, 0 , 100, CFSTR("Baskerville-Bold")));
-    EXPECT_TRUE(compareFonts("Baskerville", 700, 20, 100, CFSTR("Baskerville-BoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville", 800, 0 , 100, CFSTR("Baskerville-Bold")));
-    EXPECT_TRUE(compareFonts("Baskerville", 800, 20, 100, CFSTR("Baskerville-BoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville", 900, 0 , 100, CFSTR("Baskerville-Bold")));
-    EXPECT_TRUE(compareFonts("Baskerville", 900, 20, 100, CFSTR("Baskerville-BoldItalic")));
-    EXPECT_TRUE(compareFonts("Didot", 100, 0 , 100, CFSTR("Didot")));
-    EXPECT_TRUE(compareFonts("Didot", 100, 20, 100, CFSTR("Didot-Italic")));
-    EXPECT_TRUE(compareFonts("Didot", 200, 0 , 100, CFSTR("Didot")));
-    EXPECT_TRUE(compareFonts("Didot", 200, 20, 100, CFSTR("Didot-Italic")));
-    EXPECT_TRUE(compareFonts("Didot", 300, 0 , 100, CFSTR("Didot")));
-    EXPECT_TRUE(compareFonts("Didot", 300, 20, 100, CFSTR("Didot-Italic")));
-    EXPECT_TRUE(compareFonts("Didot", 400, 0 , 100, CFSTR("Didot")));
-    EXPECT_TRUE(compareFonts("Didot", 400, 20, 100, CFSTR("Didot-Italic")));
-    EXPECT_TRUE(compareFonts("Didot", 500, 0 , 100, CFSTR("Didot")));
-    EXPECT_TRUE(compareFonts("Didot", 500, 20, 100, CFSTR("Didot-Italic")));
-    EXPECT_TRUE(compareFonts("Didot", 600, 0 , 100, CFSTR("Didot-Bold")));
-    EXPECT_TRUE(compareFonts("Didot", 600, 20, 100, CFSTR("Didot-Italic")));
-    EXPECT_TRUE(compareFonts("Didot", 700, 0 , 100, CFSTR("Didot-Bold")));
-    EXPECT_TRUE(compareFonts("Didot", 700, 20, 100, CFSTR("Didot-Italic")));
-    EXPECT_TRUE(compareFonts("Didot", 800, 0 , 100, CFSTR("Didot-Bold")));
-    EXPECT_TRUE(compareFonts("Didot", 800, 20, 100, CFSTR("Didot-Italic")));
-    EXPECT_TRUE(compareFonts("Didot", 900, 0 , 100, CFSTR("Didot-Bold")));
-    EXPECT_TRUE(compareFonts("Didot", 900, 20, 100, CFSTR("Didot-Italic")));
-    EXPECT_TRUE(compareFonts("Futura", 100, 0 , 100, CFSTR("Futura-Medium")));
-    EXPECT_TRUE(compareFonts("Futura", 100, 20, 100, CFSTR("Futura-MediumItalic")));
-    EXPECT_TRUE(compareFonts("Futura", 200, 0 , 100, CFSTR("Futura-Medium")));
-    EXPECT_TRUE(compareFonts("Futura", 200, 20, 100, CFSTR("Futura-MediumItalic")));
-    EXPECT_TRUE(compareFonts("Futura", 300, 0 , 100, CFSTR("Futura-Medium")));
-    EXPECT_TRUE(compareFonts("Futura", 300, 20, 100, CFSTR("Futura-MediumItalic")));
-    EXPECT_TRUE(compareFonts("Futura", 400, 0 , 100, CFSTR("Futura-Medium")));
-    EXPECT_TRUE(compareFonts("Futura", 400, 20, 100, CFSTR("Futura-MediumItalic")));
-    EXPECT_TRUE(compareFonts("Futura", 500, 0 , 100, CFSTR("Futura-Medium")));
-    EXPECT_TRUE(compareFonts("Futura", 500, 20, 100, CFSTR("Futura-MediumItalic")));
-    EXPECT_TRUE(compareFonts("Futura", 600, 0 , 100, CFSTR("Futura-Bold")));
-    EXPECT_TRUE(compareFonts("Futura", 600, 20, 100, CFSTR("Futura-MediumItalic")));
-    EXPECT_TRUE(compareFonts("Futura", 700, 0 , 100, CFSTR("Futura-Bold")));
-    EXPECT_TRUE(compareFonts("Futura", 700, 20, 100, CFSTR("Futura-MediumItalic")));
-    EXPECT_TRUE(compareFonts("Futura", 800, 0 , 100, CFSTR("Futura-Bold")));
-    EXPECT_TRUE(compareFonts("Futura", 800, 20, 100, CFSTR("Futura-MediumItalic")));
-    EXPECT_TRUE(compareFonts("Futura", 900, 0 , 100, CFSTR("Futura-Bold")));
-    EXPECT_TRUE(compareFonts("Futura", 900, 20, 100, CFSTR("Futura-MediumItalic")));
-    EXPECT_TRUE(compareFonts("Helvetica Neue", 100, 0 , 100, CFSTR("HelveticaNeue-UltraLight")));
-    EXPECT_TRUE(compareFonts("Helvetica Neue", 100, 20, 100, CFSTR("HelveticaNeue-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("Helvetica Neue", 200, 0 , 100, CFSTR("HelveticaNeue-Thin")));
-    EXPECT_TRUE(compareFonts("Helvetica Neue", 200, 20, 100, CFSTR("HelveticaNeue-ThinItalic")));
-    EXPECT_TRUE(compareFonts("Helvetica Neue", 300, 0 , 100, CFSTR("HelveticaNeue-Light")));
-    EXPECT_TRUE(compareFonts("Helvetica Neue", 300, 20, 100, CFSTR("HelveticaNeue-LightItalic")));
-    EXPECT_TRUE(compareFonts("Helvetica Neue", 400, 0 , 100, CFSTR("HelveticaNeue")));
-    EXPECT_TRUE(compareFonts("Helvetica Neue", 400, 20, 100, CFSTR("HelveticaNeue-Italic")));
-    EXPECT_TRUE(compareFonts("Helvetica Neue", 500, 0 , 100, CFSTR("HelveticaNeue-Medium")));
-    EXPECT_TRUE(compareFonts("Helvetica Neue", 500, 20, 100, CFSTR("HelveticaNeue-MediumItalic")));
-    EXPECT_TRUE(compareFonts("Helvetica Neue", 600, 0 , 100, CFSTR("HelveticaNeue-Bold")));
-    EXPECT_TRUE(compareFonts("Helvetica Neue", 600, 20, 100, CFSTR("HelveticaNeue-BoldItalic")));
-    EXPECT_TRUE(compareFonts("Helvetica Neue", 700, 0 , 100, CFSTR("HelveticaNeue-Bold")));
-    EXPECT_TRUE(compareFonts("Helvetica Neue", 700, 20, 100, CFSTR("HelveticaNeue-BoldItalic")));
-    EXPECT_TRUE(compareFonts("Helvetica Neue", 800, 0 , 100, CFSTR("HelveticaNeue-Bold")));
-    EXPECT_TRUE(compareFonts("Helvetica Neue", 800, 20, 100, CFSTR("HelveticaNeue-BoldItalic")));
-    EXPECT_TRUE(compareFonts("Helvetica Neue", 900, 0 , 100, CFSTR("HelveticaNeue-Bold")));
-    EXPECT_TRUE(compareFonts("Helvetica Neue", 900, 20, 100, CFSTR("HelveticaNeue-BoldItalic")));
-    EXPECT_TRUE(compareFonts("Helvetica", 100, 0 , 100, CFSTR("Helvetica-Light")));
-    EXPECT_TRUE(compareFonts("Helvetica", 100, 20, 100, CFSTR("Helvetica-LightOblique")));
-    EXPECT_TRUE(compareFonts("Helvetica", 200, 0 , 100, CFSTR("Helvetica-Light")));
-    EXPECT_TRUE(compareFonts("Helvetica", 200, 20, 100, CFSTR("Helvetica-LightOblique")));
-    EXPECT_TRUE(compareFonts("Helvetica", 300, 0 , 100, CFSTR("Helvetica-Light")));
-    EXPECT_TRUE(compareFonts("Helvetica", 300, 20, 100, CFSTR("Helvetica-LightOblique")));
-    EXPECT_TRUE(compareFonts("Helvetica", 400, 0 , 100, CFSTR("Helvetica")));
-    EXPECT_TRUE(compareFonts("Helvetica", 400, 20, 100, CFSTR("Helvetica-Oblique")));
-    EXPECT_TRUE(compareFonts("Helvetica", 500, 0 , 100, CFSTR("Helvetica")));
-    EXPECT_TRUE(compareFonts("Helvetica", 500, 20, 100, CFSTR("Helvetica-Oblique")));
-    EXPECT_TRUE(compareFonts("Helvetica", 600, 0 , 100, CFSTR("Helvetica-Bold")));
-    EXPECT_TRUE(compareFonts("Helvetica", 600, 20, 100, CFSTR("Helvetica-BoldOblique")));
-    EXPECT_TRUE(compareFonts("Helvetica", 700, 0 , 100, CFSTR("Helvetica-Bold")));
-    EXPECT_TRUE(compareFonts("Helvetica", 700, 20, 100, CFSTR("Helvetica-BoldOblique")));
-    EXPECT_TRUE(compareFonts("Helvetica", 800, 0 , 100, CFSTR("Helvetica-Bold")));
-    EXPECT_TRUE(compareFonts("Helvetica", 800, 20, 100, CFSTR("Helvetica-BoldOblique")));
-    EXPECT_TRUE(compareFonts("Helvetica", 900, 0 , 100, CFSTR("Helvetica-Bold")));
-    EXPECT_TRUE(compareFonts("Helvetica", 900, 20, 100, CFSTR("Helvetica-BoldOblique")));
-    EXPECT_TRUE(compareFonts("Hiragino Kaku Gothic StdN", 100, 0 , 100, CFSTR("HiraKakuStdN-W8")));
-    EXPECT_TRUE(compareFonts("Hiragino Kaku Gothic StdN", 100, 20, 100, CFSTR("HiraKakuStdN-W8")));
-    EXPECT_TRUE(compareFonts("Hiragino Kaku Gothic StdN", 200, 0 , 100, CFSTR("HiraKakuStdN-W8")));
-    EXPECT_TRUE(compareFonts("Hiragino Kaku Gothic StdN", 200, 20, 100, CFSTR("HiraKakuStdN-W8")));
-    EXPECT_TRUE(compareFonts("Hiragino Kaku Gothic StdN", 300, 0 , 100, CFSTR("HiraKakuStdN-W8")));
-    EXPECT_TRUE(compareFonts("Hiragino Kaku Gothic StdN", 300, 20, 100, CFSTR("HiraKakuStdN-W8")));
-    EXPECT_TRUE(compareFonts("Hiragino Kaku Gothic StdN", 400, 0 , 100, CFSTR("HiraKakuStdN-W8")));
-    EXPECT_TRUE(compareFonts("Hiragino Kaku Gothic StdN", 400, 20, 100, CFSTR("HiraKakuStdN-W8")));
-    EXPECT_TRUE(compareFonts("Hiragino Kaku Gothic StdN", 500, 0 , 100, CFSTR("HiraKakuStdN-W8")));
-    EXPECT_TRUE(compareFonts("Hiragino Kaku Gothic StdN", 500, 20, 100, CFSTR("HiraKakuStdN-W8")));
-    EXPECT_TRUE(compareFonts("Hiragino Kaku Gothic StdN", 600, 0 , 100, CFSTR("HiraKakuStdN-W8")));
-    EXPECT_TRUE(compareFonts("Hiragino Kaku Gothic StdN", 600, 20, 100, CFSTR("HiraKakuStdN-W8")));
-    EXPECT_TRUE(compareFonts("Hiragino Kaku Gothic StdN", 700, 0 , 100, CFSTR("HiraKakuStdN-W8")));
-    EXPECT_TRUE(compareFonts("Hiragino Kaku Gothic StdN", 700, 20, 100, CFSTR("HiraKakuStdN-W8")));
-    EXPECT_TRUE(compareFonts("Hiragino Kaku Gothic StdN", 800, 0 , 100, CFSTR("HiraKakuStdN-W8")));
-    EXPECT_TRUE(compareFonts("Hiragino Kaku Gothic StdN", 800, 20, 100, CFSTR("HiraKakuStdN-W8")));
-    EXPECT_TRUE(compareFonts("Hiragino Kaku Gothic StdN", 900, 0 , 100, CFSTR("HiraKakuStdN-W8")));
-    EXPECT_TRUE(compareFonts("Hiragino Kaku Gothic StdN", 900, 20, 100, CFSTR("HiraKakuStdN-W8")));
-    EXPECT_TRUE(compareFonts("Hiragino Maru Gothic ProN", 100, 0 , 100, CFSTR("HiraMaruProN-W4")));
-    EXPECT_TRUE(compareFonts("Hiragino Maru Gothic ProN", 100, 20, 100, CFSTR("HiraMaruProN-W4")));
-    EXPECT_TRUE(compareFonts("Hiragino Maru Gothic ProN", 200, 0 , 100, CFSTR("HiraMaruProN-W4")));
-    EXPECT_TRUE(compareFonts("Hiragino Maru Gothic ProN", 200, 20, 100, CFSTR("HiraMaruProN-W4")));
-    EXPECT_TRUE(compareFonts("Hiragino Maru Gothic ProN", 300, 0 , 100, CFSTR("HiraMaruProN-W4")));
-    EXPECT_TRUE(compareFonts("Hiragino Maru Gothic ProN", 300, 20, 100, CFSTR("HiraMaruProN-W4")));
-    EXPECT_TRUE(compareFonts("Hiragino Maru Gothic ProN", 400, 0 , 100, CFSTR("HiraMaruProN-W4")));
-    EXPECT_TRUE(compareFonts("Hiragino Maru Gothic ProN", 400, 20, 100, CFSTR("HiraMaruProN-W4")));
-    EXPECT_TRUE(compareFonts("Hiragino Maru Gothic ProN", 500, 0 , 100, CFSTR("HiraMaruProN-W4")));
-    EXPECT_TRUE(compareFonts("Hiragino Maru Gothic ProN", 500, 20, 100, CFSTR("HiraMaruProN-W4")));
-    EXPECT_TRUE(compareFonts("Hiragino Maru Gothic ProN", 600, 0 , 100, CFSTR("HiraMaruProN-W4")));
-    EXPECT_TRUE(compareFonts("Hiragino Maru Gothic ProN", 600, 20, 100, CFSTR("HiraMaruProN-W4")));
-    EXPECT_TRUE(compareFonts("Hiragino Maru Gothic ProN", 700, 0 , 100, CFSTR("HiraMaruProN-W4")));
-    EXPECT_TRUE(compareFonts("Hiragino Maru Gothic ProN", 700, 20, 100, CFSTR("HiraMaruProN-W4")));
-    EXPECT_TRUE(compareFonts("Hiragino Maru Gothic ProN", 800, 0 , 100, CFSTR("HiraMaruProN-W4")));
-    EXPECT_TRUE(compareFonts("Hiragino Maru Gothic ProN", 800, 20, 100, CFSTR("HiraMaruProN-W4")));
-    EXPECT_TRUE(compareFonts("Hiragino Maru Gothic ProN", 900, 0 , 100, CFSTR("HiraMaruProN-W4")));
-    EXPECT_TRUE(compareFonts("Hiragino Maru Gothic ProN", 900, 20, 100, CFSTR("HiraMaruProN-W4")));
-    EXPECT_TRUE(compareFonts("Hiragino Mincho ProN", 100, 0 , 100, CFSTR("HiraMinProN-W3")));
-    EXPECT_TRUE(compareFonts("Hiragino Mincho ProN", 100, 20, 100, CFSTR("HiraMinProN-W3")));
-    EXPECT_TRUE(compareFonts("Hiragino Mincho ProN", 200, 0 , 100, CFSTR("HiraMinProN-W3")));
-    EXPECT_TRUE(compareFonts("Hiragino Mincho ProN", 200, 20, 100, CFSTR("HiraMinProN-W3")));
-    EXPECT_TRUE(compareFonts("Hiragino Mincho ProN", 300, 0 , 100, CFSTR("HiraMinProN-W3")));
-    EXPECT_TRUE(compareFonts("Hiragino Mincho ProN", 300, 20, 100, CFSTR("HiraMinProN-W3")));
-    EXPECT_TRUE(compareFonts("Hiragino Mincho ProN", 400, 0 , 100, CFSTR("HiraMinProN-W3")));
-    EXPECT_TRUE(compareFonts("Hiragino Mincho ProN", 400, 20, 100, CFSTR("HiraMinProN-W3")));
-    EXPECT_TRUE(compareFonts("Hiragino Mincho ProN", 500, 0 , 100, CFSTR("HiraMinProN-W3")));
-    EXPECT_TRUE(compareFonts("Hiragino Mincho ProN", 500, 20, 100, CFSTR("HiraMinProN-W3")));
-    EXPECT_TRUE(compareFonts("Hiragino Mincho ProN", 600, 0 , 100, CFSTR("HiraMinProN-W6")));
-    EXPECT_TRUE(compareFonts("Hiragino Mincho ProN", 600, 20, 100, CFSTR("HiraMinProN-W6")));
-    EXPECT_TRUE(compareFonts("Hiragino Mincho ProN", 700, 0 , 100, CFSTR("HiraMinProN-W6")));
-    EXPECT_TRUE(compareFonts("Hiragino Mincho ProN", 700, 20, 100, CFSTR("HiraMinProN-W6")));
-    EXPECT_TRUE(compareFonts("Hiragino Mincho ProN", 800, 0 , 100, CFSTR("HiraMinProN-W6")));
-    EXPECT_TRUE(compareFonts("Hiragino Mincho ProN", 800, 20, 100, CFSTR("HiraMinProN-W6")));
-    EXPECT_TRUE(compareFonts("Hiragino Mincho ProN", 900, 0 , 100, CFSTR("HiraMinProN-W6")));
-    EXPECT_TRUE(compareFonts("Hiragino Mincho ProN", 900, 20, 100, CFSTR("HiraMinProN-W6")));
-    EXPECT_TRUE(compareFonts("Hiragino Sans GB", 100, 0 , 100, CFSTR("HiraginoSansGB-W3")));
-    EXPECT_TRUE(compareFonts("Hiragino Sans GB", 100, 20, 100, CFSTR("HiraginoSansGB-W3")));
-    EXPECT_TRUE(compareFonts("Hiragino Sans GB", 200, 0 , 100, CFSTR("HiraginoSansGB-W3")));
-    EXPECT_TRUE(compareFonts("Hiragino Sans GB", 200, 20, 100, CFSTR("HiraginoSansGB-W3")));
-    EXPECT_TRUE(compareFonts("Hiragino Sans GB", 300, 0 , 100, CFSTR("HiraginoSansGB-W3")));
-    EXPECT_TRUE(compareFonts("Hiragino Sans GB", 300, 20, 100, CFSTR("HiraginoSansGB-W3")));
-    EXPECT_TRUE(compareFonts("Hiragino Sans GB", 400, 0 , 100, CFSTR("HiraginoSansGB-W3")));
-    EXPECT_TRUE(compareFonts("Hiragino Sans GB", 400, 20, 100, CFSTR("HiraginoSansGB-W3")));
-    EXPECT_TRUE(compareFonts("Hiragino Sans GB", 500, 0 , 100, CFSTR("HiraginoSansGB-W3")));
-    EXPECT_TRUE(compareFonts("Hiragino Sans GB", 500, 20, 100, CFSTR("HiraginoSansGB-W3")));
-    EXPECT_TRUE(compareFonts("Hiragino Sans GB", 600, 0 , 100, CFSTR("HiraginoSansGB-W6")));
-    EXPECT_TRUE(compareFonts("Hiragino Sans GB", 600, 20, 100, CFSTR("HiraginoSansGB-W6")));
-    EXPECT_TRUE(compareFonts("Hiragino Sans GB", 700, 0 , 100, CFSTR("HiraginoSansGB-W6")));
-    EXPECT_TRUE(compareFonts("Hiragino Sans GB", 700, 20, 100, CFSTR("HiraginoSansGB-W6")));
-    EXPECT_TRUE(compareFonts("Hiragino Sans GB", 800, 0 , 100, CFSTR("HiraginoSansGB-W6")));
-    EXPECT_TRUE(compareFonts("Hiragino Sans GB", 800, 20, 100, CFSTR("HiraginoSansGB-W6")));
-    EXPECT_TRUE(compareFonts("Hiragino Sans GB", 900, 0 , 100, CFSTR("HiraginoSansGB-W6")));
-    EXPECT_TRUE(compareFonts("Hiragino Sans GB", 900, 20, 100, CFSTR("HiraginoSansGB-W6")));
-    EXPECT_TRUE(compareFonts("Hiragino Sans", 100, 0 , 100, CFSTR("HiraginoSans-W0")));
-    EXPECT_TRUE(compareFonts("Hiragino Sans", 100, 20, 100, CFSTR("HiraginoSans-W0")));
-    EXPECT_TRUE(compareFonts("Hiragino Sans", 200, 0 , 100, CFSTR("HiraginoSans-W1")));
-    EXPECT_TRUE(compareFonts("Hiragino Sans", 200, 20, 100, CFSTR("HiraginoSans-W1")));
-    EXPECT_TRUE(compareFonts("Hiragino Sans", 300, 0 , 100, CFSTR("HiraginoSans-W3")));
-    EXPECT_TRUE(compareFonts("Hiragino Sans", 300, 20, 100, CFSTR("HiraginoSans-W3")));
-    EXPECT_TRUE(compareFonts("Hiragino Sans", 400, 0 , 100, CFSTR("HiraginoSans-W4")));
-    EXPECT_TRUE(compareFonts("Hiragino Sans", 400, 20, 100, CFSTR("HiraginoSans-W4")));
-    EXPECT_TRUE(compareFonts("Hiragino Sans", 500, 0 , 100, CFSTR("HiraginoSans-W5")));
-    EXPECT_TRUE(compareFonts("Hiragino Sans", 500, 20, 100, CFSTR("HiraginoSans-W5")));
-    EXPECT_TRUE(compareFonts("Hiragino Sans", 600, 0 , 100, CFSTR("HiraginoSans-W6")));
-    EXPECT_TRUE(compareFonts("Hiragino Sans", 600, 20, 100, CFSTR("HiraginoSans-W6")));
-    EXPECT_TRUE(compareFonts("Hiragino Sans", 700, 0 , 100, CFSTR("HiraginoSans-W7")));
-    EXPECT_TRUE(compareFonts("Hiragino Sans", 700, 20, 100, CFSTR("HiraginoSans-W7")));
-    EXPECT_TRUE(compareFonts("Hiragino Sans", 800, 0 , 100, CFSTR("HiraginoSans-W8")));
-    EXPECT_TRUE(compareFonts("Hiragino Sans", 800, 20, 100, CFSTR("HiraginoSans-W8")));
-    EXPECT_TRUE(compareFonts("Hiragino Sans", 900, 0 , 100, CFSTR("HiraginoSans-W9")));
-    EXPECT_TRUE(compareFonts("Hiragino Sans", 900, 20, 100, CFSTR("HiraginoSans-W9")));
-    EXPECT_TRUE(compareFonts("Hoefler Text", 100, 0 , 100, CFSTR("HoeflerText-Regular")));
-    EXPECT_TRUE(compareFonts("Hoefler Text", 100, 20, 100, CFSTR("HoeflerText-Italic")));
-    EXPECT_TRUE(compareFonts("Hoefler Text", 200, 0 , 100, CFSTR("HoeflerText-Regular")));
-    EXPECT_TRUE(compareFonts("Hoefler Text", 200, 20, 100, CFSTR("HoeflerText-Italic")));
-    EXPECT_TRUE(compareFonts("Hoefler Text", 300, 0 , 100, CFSTR("HoeflerText-Regular")));
-    EXPECT_TRUE(compareFonts("Hoefler Text", 300, 20, 100, CFSTR("HoeflerText-Italic")));
-    EXPECT_TRUE(compareFonts("Hoefler Text", 400, 0 , 100, CFSTR("HoeflerText-Regular")));
-    EXPECT_TRUE(compareFonts("Hoefler Text", 400, 20, 100, CFSTR("HoeflerText-Italic")));
-    EXPECT_TRUE(compareFonts("Hoefler Text", 500, 0 , 100, CFSTR("HoeflerText-Regular")));
-    EXPECT_TRUE(compareFonts("Hoefler Text", 500, 20, 100, CFSTR("HoeflerText-Italic")));
-    EXPECT_TRUE(compareFonts("Hoefler Text", 600, 0 , 100, CFSTR("HoeflerText-Black")));
-    EXPECT_TRUE(compareFonts("Hoefler Text", 600, 20, 100, CFSTR("HoeflerText-BlackItalic")));
-    EXPECT_TRUE(compareFonts("Hoefler Text", 700, 0 , 100, CFSTR("HoeflerText-Black")));
-    EXPECT_TRUE(compareFonts("Hoefler Text", 700, 20, 100, CFSTR("HoeflerText-BlackItalic")));
-    EXPECT_TRUE(compareFonts("Hoefler Text", 800, 0 , 100, CFSTR("HoeflerText-Black")));
-    EXPECT_TRUE(compareFonts("Hoefler Text", 800, 20, 100, CFSTR("HoeflerText-BlackItalic")));
-    EXPECT_TRUE(compareFonts("Hoefler Text", 900, 0 , 100, CFSTR("HoeflerText-Black")));
-    EXPECT_TRUE(compareFonts("Hoefler Text", 900, 20, 100, CFSTR("HoeflerText-BlackItalic")));
-    EXPECT_TRUE(compareFonts("Lucida Grande", 100, 0 , 100, CFSTR("LucidaGrande")));
-    EXPECT_TRUE(compareFonts("Lucida Grande", 100, 20, 100, CFSTR("LucidaGrande")));
-    EXPECT_TRUE(compareFonts("Lucida Grande", 200, 0 , 100, CFSTR("LucidaGrande")));
-    EXPECT_TRUE(compareFonts("Lucida Grande", 200, 20, 100, CFSTR("LucidaGrande")));
-    EXPECT_TRUE(compareFonts("Lucida Grande", 300, 0 , 100, CFSTR("LucidaGrande")));
-    EXPECT_TRUE(compareFonts("Lucida Grande", 300, 20, 100, CFSTR("LucidaGrande")));
-    EXPECT_TRUE(compareFonts("Lucida Grande", 400, 0 , 100, CFSTR("LucidaGrande")));
-    EXPECT_TRUE(compareFonts("Lucida Grande", 400, 20, 100, CFSTR("LucidaGrande")));
-    EXPECT_TRUE(compareFonts("Lucida Grande", 500, 0 , 100, CFSTR("LucidaGrande")));
-    EXPECT_TRUE(compareFonts("Lucida Grande", 500, 20, 100, CFSTR("LucidaGrande")));
-    EXPECT_TRUE(compareFonts("Lucida Grande", 600, 0 , 100, CFSTR("LucidaGrande-Bold")));
-    EXPECT_TRUE(compareFonts("Lucida Grande", 600, 20, 100, CFSTR("LucidaGrande-Bold")));
-    EXPECT_TRUE(compareFonts("Lucida Grande", 700, 0 , 100, CFSTR("LucidaGrande-Bold")));
-    EXPECT_TRUE(compareFonts("Lucida Grande", 700, 20, 100, CFSTR("LucidaGrande-Bold")));
-    EXPECT_TRUE(compareFonts("Lucida Grande", 800, 0 , 100, CFSTR("LucidaGrande-Bold")));
-    EXPECT_TRUE(compareFonts("Lucida Grande", 800, 20, 100, CFSTR("LucidaGrande-Bold")));
-    EXPECT_TRUE(compareFonts("Lucida Grande", 900, 0 , 100, CFSTR("LucidaGrande-Bold")));
-    EXPECT_TRUE(compareFonts("Lucida Grande", 900, 20, 100, CFSTR("LucidaGrande-Bold")));
-    EXPECT_TRUE(compareFonts("Optima", 100, 0 , 100, CFSTR("Optima-Regular")));
-    EXPECT_TRUE(compareFonts("Optima", 100, 20, 100, CFSTR("Optima-Italic")));
-    EXPECT_TRUE(compareFonts("Optima", 200, 0 , 100, CFSTR("Optima-Regular")));
-    EXPECT_TRUE(compareFonts("Optima", 200, 20, 100, CFSTR("Optima-Italic")));
-    EXPECT_TRUE(compareFonts("Optima", 300, 0 , 100, CFSTR("Optima-Regular")));
-    EXPECT_TRUE(compareFonts("Optima", 300, 20, 100, CFSTR("Optima-Italic")));
-    EXPECT_TRUE(compareFonts("Optima", 400, 0 , 100, CFSTR("Optima-Regular")));
-    EXPECT_TRUE(compareFonts("Optima", 400, 20, 100, CFSTR("Optima-Italic")));
-    EXPECT_TRUE(compareFonts("Optima", 500, 0 , 100, CFSTR("Optima-Regular")));
-    EXPECT_TRUE(compareFonts("Optima", 500, 20, 100, CFSTR("Optima-Italic")));
-    EXPECT_TRUE(compareFonts("Optima", 600, 0 , 100, CFSTR("Optima-Bold")));
-    EXPECT_TRUE(compareFonts("Optima", 600, 20, 100, CFSTR("Optima-BoldItalic")));
-    EXPECT_TRUE(compareFonts("Optima", 700, 0 , 100, CFSTR("Optima-Bold")));
-    EXPECT_TRUE(compareFonts("Optima", 700, 20, 100, CFSTR("Optima-BoldItalic")));
-    EXPECT_TRUE(compareFonts("Optima", 800, 0 , 100, CFSTR("Optima-ExtraBlack")));
-    EXPECT_TRUE(compareFonts("Optima", 800, 20, 100, CFSTR("Optima-BoldItalic")));
-    EXPECT_TRUE(compareFonts("Optima", 900, 0 , 100, CFSTR("Optima-ExtraBlack")));
-    EXPECT_TRUE(compareFonts("Optima", 900, 20, 100, CFSTR("Optima-BoldItalic")));
-    EXPECT_TRUE(compareFonts("PingFang HK", 100, 0 , 100, CFSTR("PingFangHK-Ultralight")));
-    EXPECT_TRUE(compareFonts("PingFang HK", 100, 20, 100, CFSTR("PingFangHK-Ultralight")));
-    EXPECT_TRUE(compareFonts("PingFang HK", 200, 0 , 100, CFSTR("PingFangHK-Thin")));
-    EXPECT_TRUE(compareFonts("PingFang HK", 200, 20, 100, CFSTR("PingFangHK-Thin")));
-    EXPECT_TRUE(compareFonts("PingFang HK", 300, 0 , 100, CFSTR("PingFangHK-Light")));
-    EXPECT_TRUE(compareFonts("PingFang HK", 300, 20, 100, CFSTR("PingFangHK-Light")));
-    EXPECT_TRUE(compareFonts("PingFang HK", 400, 0 , 100, CFSTR("PingFangHK-Regular")));
-    EXPECT_TRUE(compareFonts("PingFang HK", 400, 20, 100, CFSTR("PingFangHK-Regular")));
-    EXPECT_TRUE(compareFonts("PingFang HK", 500, 0 , 100, CFSTR("PingFangHK-Medium")));
-    EXPECT_TRUE(compareFonts("PingFang HK", 500, 20, 100, CFSTR("PingFangHK-Medium")));
-    EXPECT_TRUE(compareFonts("PingFang HK", 600, 0 , 100, CFSTR("PingFangHK-Semibold")));
-    EXPECT_TRUE(compareFonts("PingFang HK", 600, 20, 100, CFSTR("PingFangHK-Semibold")));
-    EXPECT_TRUE(compareFonts("PingFang HK", 700, 0 , 100, CFSTR("PingFangHK-Semibold")));
-    EXPECT_TRUE(compareFonts("PingFang HK", 700, 20, 100, CFSTR("PingFangHK-Semibold")));
-    EXPECT_TRUE(compareFonts("PingFang HK", 800, 0 , 100, CFSTR("PingFangHK-Semibold")));
-    EXPECT_TRUE(compareFonts("PingFang HK", 800, 20, 100, CFSTR("PingFangHK-Semibold")));
-    EXPECT_TRUE(compareFonts("PingFang HK", 900, 0 , 100, CFSTR("PingFangHK-Semibold")));
-    EXPECT_TRUE(compareFonts("PingFang HK", 900, 20, 100, CFSTR("PingFangHK-Semibold")));
-    EXPECT_TRUE(compareFonts("PingFang SC", 100, 0 , 100, CFSTR("PingFangSC-Ultralight")));
-    EXPECT_TRUE(compareFonts("PingFang SC", 100, 20, 100, CFSTR("PingFangSC-Ultralight")));
-    EXPECT_TRUE(compareFonts("PingFang SC", 200, 0 , 100, CFSTR("PingFangSC-Thin")));
-    EXPECT_TRUE(compareFonts("PingFang SC", 200, 20, 100, CFSTR("PingFangSC-Thin")));
-    EXPECT_TRUE(compareFonts("PingFang SC", 300, 0 , 100, CFSTR("PingFangSC-Light")));
-    EXPECT_TRUE(compareFonts("PingFang SC", 300, 20, 100, CFSTR("PingFangSC-Light")));
-    EXPECT_TRUE(compareFonts("PingFang SC", 400, 0 , 100, CFSTR("PingFangSC-Regular")));
-    EXPECT_TRUE(compareFonts("PingFang SC", 400, 20, 100, CFSTR("PingFangSC-Regular")));
-    EXPECT_TRUE(compareFonts("PingFang SC", 500, 0 , 100, CFSTR("PingFangSC-Medium")));
-    EXPECT_TRUE(compareFonts("PingFang SC", 500, 20, 100, CFSTR("PingFangSC-Medium")));
-    EXPECT_TRUE(compareFonts("PingFang SC", 600, 0 , 100, CFSTR("PingFangSC-Semibold")));
-    EXPECT_TRUE(compareFonts("PingFang SC", 600, 20, 100, CFSTR("PingFangSC-Semibold")));
-    EXPECT_TRUE(compareFonts("PingFang SC", 700, 0 , 100, CFSTR("PingFangSC-Semibold")));
-    EXPECT_TRUE(compareFonts("PingFang SC", 700, 20, 100, CFSTR("PingFangSC-Semibold")));
-    EXPECT_TRUE(compareFonts("PingFang SC", 800, 0 , 100, CFSTR("PingFangSC-Semibold")));
-    EXPECT_TRUE(compareFonts("PingFang SC", 800, 20, 100, CFSTR("PingFangSC-Semibold")));
-    EXPECT_TRUE(compareFonts("PingFang SC", 900, 0 , 100, CFSTR("PingFangSC-Semibold")));
-    EXPECT_TRUE(compareFonts("PingFang SC", 900, 20, 100, CFSTR("PingFangSC-Semibold")));
-    EXPECT_TRUE(compareFonts("PingFang TC", 100, 0 , 100, CFSTR("PingFangTC-Ultralight")));
-    EXPECT_TRUE(compareFonts("PingFang TC", 100, 20, 100, CFSTR("PingFangTC-Ultralight")));
-    EXPECT_TRUE(compareFonts("PingFang TC", 200, 0 , 100, CFSTR("PingFangTC-Thin")));
-    EXPECT_TRUE(compareFonts("PingFang TC", 200, 20, 100, CFSTR("PingFangTC-Thin")));
-    EXPECT_TRUE(compareFonts("PingFang TC", 300, 0 , 100, CFSTR("PingFangTC-Light")));
-    EXPECT_TRUE(compareFonts("PingFang TC", 300, 20, 100, CFSTR("PingFangTC-Light")));
-    EXPECT_TRUE(compareFonts("PingFang TC", 400, 0 , 100, CFSTR("PingFangTC-Regular")));
-    EXPECT_TRUE(compareFonts("PingFang TC", 400, 20, 100, CFSTR("PingFangTC-Regular")));
-    EXPECT_TRUE(compareFonts("PingFang TC", 500, 0 , 100, CFSTR("PingFangTC-Medium")));
-    EXPECT_TRUE(compareFonts("PingFang TC", 500, 20, 100, CFSTR("PingFangTC-Medium")));
-    EXPECT_TRUE(compareFonts("PingFang TC", 600, 0 , 100, CFSTR("PingFangTC-Semibold")));
-    EXPECT_TRUE(compareFonts("PingFang TC", 600, 20, 100, CFSTR("PingFangTC-Semibold")));
-    EXPECT_TRUE(compareFonts("PingFang TC", 700, 0 , 100, CFSTR("PingFangTC-Semibold")));
-    EXPECT_TRUE(compareFonts("PingFang TC", 700, 20, 100, CFSTR("PingFangTC-Semibold")));
-    EXPECT_TRUE(compareFonts("PingFang TC", 800, 0 , 100, CFSTR("PingFangTC-Semibold")));
-    EXPECT_TRUE(compareFonts("PingFang TC", 800, 20, 100, CFSTR("PingFangTC-Semibold")));
-    EXPECT_TRUE(compareFonts("PingFang TC", 900, 0 , 100, CFSTR("PingFangTC-Semibold")));
-    EXPECT_TRUE(compareFonts("PingFang TC", 900, 20, 100, CFSTR("PingFangTC-Semibold")));
-    EXPECT_TRUE(compareFonts("Times New Roman", 100, 0 , 100, CFSTR("TimesNewRomanPSMT")));
-    EXPECT_TRUE(compareFonts("Times New Roman", 100, 20, 100, CFSTR("TimesNewRomanPS-ItalicMT")));
-    EXPECT_TRUE(compareFonts("Times New Roman", 200, 0 , 100, CFSTR("TimesNewRomanPSMT")));
-    EXPECT_TRUE(compareFonts("Times New Roman", 200, 20, 100, CFSTR("TimesNewRomanPS-ItalicMT")));
-    EXPECT_TRUE(compareFonts("Times New Roman", 300, 0 , 100, CFSTR("TimesNewRomanPSMT")));
-    EXPECT_TRUE(compareFonts("Times New Roman", 300, 20, 100, CFSTR("TimesNewRomanPS-ItalicMT")));
-    EXPECT_TRUE(compareFonts("Times New Roman", 400, 0 , 100, CFSTR("TimesNewRomanPSMT")));
-    EXPECT_TRUE(compareFonts("Times New Roman", 400, 20, 100, CFSTR("TimesNewRomanPS-ItalicMT")));
-    EXPECT_TRUE(compareFonts("Times New Roman", 500, 0 , 100, CFSTR("TimesNewRomanPSMT")));
-    EXPECT_TRUE(compareFonts("Times New Roman", 500, 20, 100, CFSTR("TimesNewRomanPS-ItalicMT")));
-    EXPECT_TRUE(compareFonts("Times New Roman", 600, 0 , 100, CFSTR("TimesNewRomanPS-BoldMT")));
-    EXPECT_TRUE(compareFonts("Times New Roman", 600, 20, 100, CFSTR("TimesNewRomanPS-BoldItalicMT")));
-    EXPECT_TRUE(compareFonts("Times New Roman", 700, 0 , 100, CFSTR("TimesNewRomanPS-BoldMT")));
-    EXPECT_TRUE(compareFonts("Times New Roman", 700, 20, 100, CFSTR("TimesNewRomanPS-BoldItalicMT")));
-    EXPECT_TRUE(compareFonts("Times New Roman", 800, 0 , 100, CFSTR("TimesNewRomanPS-BoldMT")));
-    EXPECT_TRUE(compareFonts("Times New Roman", 800, 20, 100, CFSTR("TimesNewRomanPS-BoldItalicMT")));
-    EXPECT_TRUE(compareFonts("Times New Roman", 900, 0 , 100, CFSTR("TimesNewRomanPS-BoldMT")));
-    EXPECT_TRUE(compareFonts("Times New Roman", 900, 20, 100, CFSTR("TimesNewRomanPS-BoldItalicMT")));
-    EXPECT_TRUE(compareFonts("Times", 100, 0 , 100, CFSTR("Times-Roman")));
-    EXPECT_TRUE(compareFonts("Times", 100, 20, 100, CFSTR("Times-Italic")));
-    EXPECT_TRUE(compareFonts("Times", 200, 0 , 100, CFSTR("Times-Roman")));
-    EXPECT_TRUE(compareFonts("Times", 200, 20, 100, CFSTR("Times-Italic")));
-    EXPECT_TRUE(compareFonts("Times", 300, 0 , 100, CFSTR("Times-Roman")));
-    EXPECT_TRUE(compareFonts("Times", 300, 20, 100, CFSTR("Times-Italic")));
-    EXPECT_TRUE(compareFonts("Times", 400, 0 , 100, CFSTR("Times-Roman")));
-    EXPECT_TRUE(compareFonts("Times", 400, 20, 100, CFSTR("Times-Italic")));
-    EXPECT_TRUE(compareFonts("Times", 500, 0 , 100, CFSTR("Times-Roman")));
-    EXPECT_TRUE(compareFonts("Times", 500, 20, 100, CFSTR("Times-Italic")));
-    EXPECT_TRUE(compareFonts("Times", 600, 0 , 100, CFSTR("Times-Bold")));
-    EXPECT_TRUE(compareFonts("Times", 600, 20, 100, CFSTR("Times-BoldItalic")));
-    EXPECT_TRUE(compareFonts("Times", 700, 0 , 100, CFSTR("Times-Bold")));
-    EXPECT_TRUE(compareFonts("Times", 700, 20, 100, CFSTR("Times-BoldItalic")));
-    EXPECT_TRUE(compareFonts("Times", 800, 0 , 100, CFSTR("Times-Bold")));
-    EXPECT_TRUE(compareFonts("Times", 800, 20, 100, CFSTR("Times-BoldItalic")));
-    EXPECT_TRUE(compareFonts("Times", 900, 0 , 100, CFSTR("Times-Bold")));
-    EXPECT_TRUE(compareFonts("Times", 900, 20, 100, CFSTR("Times-BoldItalic")));
-    EXPECT_TRUE(compareFonts("Helvetica Neue", 700, 0 , 87.5, CFSTR("HelveticaNeue-CondensedBold")));
-    EXPECT_TRUE(compareFonts("Helvetica Neue", 800, 0 , 87.5, CFSTR("HelveticaNeue-CondensedBlack")));
-    EXPECT_TRUE(compareFonts("Helvetica Neue", 900, 0 , 87.5, CFSTR("HelveticaNeue-CondensedBlack")));
-    EXPECT_TRUE(compareFonts("Helvetica Neue", 700, 0 , 75, CFSTR("HelveticaNeue-CondensedBold")));
-    EXPECT_TRUE(compareFonts("Helvetica Neue", 800, 0 , 75, CFSTR("HelveticaNeue-CondensedBlack")));
-    EXPECT_TRUE(compareFonts("Helvetica Neue", 900, 0 , 75, CFSTR("HelveticaNeue-CondensedBlack")));
-    EXPECT_TRUE(compareFonts("Helvetica Neue", 700, 20, 87.5, CFSTR("HelveticaNeue-CondensedBold")));
-    EXPECT_TRUE(compareFonts("Helvetica Neue", 800, 20, 87.5, CFSTR("HelveticaNeue-CondensedBlack")));
-    EXPECT_TRUE(compareFonts("Helvetica Neue", 900, 20, 87.5, CFSTR("HelveticaNeue-CondensedBlack")));
-    EXPECT_TRUE(compareFonts("Helvetica Neue", 700, 20, 75, CFSTR("HelveticaNeue-CondensedBold")));
-    EXPECT_TRUE(compareFonts("Helvetica Neue", 800, 20, 75, CFSTR("HelveticaNeue-CondensedBlack")));
-    EXPECT_TRUE(compareFonts("Helvetica Neue", 900, 20, 75, CFSTR("HelveticaNeue-CondensedBlack")));
-    EXPECT_TRUE(compareFonts("Futura", 500, 0 , 87.5, CFSTR("Futura-CondensedMedium")));
-    EXPECT_TRUE(compareFonts("Futura", 500, 20, 87.5, CFSTR("Futura-CondensedMedium")));
-    EXPECT_TRUE(compareFonts("Futura", 600, 0 , 87.5, CFSTR("Futura-CondensedExtraBold")));
-    EXPECT_TRUE(compareFonts("Futura", 600, 20, 87.5, CFSTR("Futura-CondensedExtraBold")));
-    EXPECT_TRUE(compareFonts("Futura", 700, 0 , 87.5, CFSTR("Futura-CondensedExtraBold")));
-    EXPECT_TRUE(compareFonts("Futura", 700, 20, 87.5, CFSTR("Futura-CondensedExtraBold")));
-    EXPECT_TRUE(compareFonts("Futura", 800, 0 , 87.5, CFSTR("Futura-CondensedExtraBold")));
-    EXPECT_TRUE(compareFonts("Futura", 800, 20, 87.5, CFSTR("Futura-CondensedExtraBold")));
-    EXPECT_TRUE(compareFonts("Futura", 900, 0 , 87.5, CFSTR("Futura-CondensedExtraBold")));
-    EXPECT_TRUE(compareFonts("Futura", 900, 20, 87.5, CFSTR("Futura-CondensedExtraBold")));
-}
-
-TEST_F(FontCacheTest, FontLookupFromPostScriptName)
-{
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Bold", 100, 0 , 100, CFSTR("AppleSDGothicNeo-Bold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Bold", 100, 20, 100, CFSTR("AppleSDGothicNeo-Thin")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Bold", 200, 0 , 100, CFSTR("AppleSDGothicNeo-Bold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Bold", 200, 20, 100, CFSTR("AppleSDGothicNeo-UltraLight")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Bold", 300, 0 , 100, CFSTR("AppleSDGothicNeo-Bold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Bold", 300, 20, 100, CFSTR("AppleSDGothicNeo-Light")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Bold", 400, 0 , 100, CFSTR("AppleSDGothicNeo-Bold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Bold", 400, 20, 100, CFSTR("AppleSDGothicNeo-Regular")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Bold", 500, 0 , 100, CFSTR("AppleSDGothicNeo-Bold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Bold", 500, 20, 100, CFSTR("AppleSDGothicNeo-Medium")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Bold", 600, 0 , 100, CFSTR("AppleSDGothicNeo-Bold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Bold", 600, 20, 100, CFSTR("AppleSDGothicNeo-SemiBold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Bold", 700, 0 , 100, CFSTR("AppleSDGothicNeo-Bold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Bold", 700, 20, 100, CFSTR("AppleSDGothicNeo-Bold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Bold", 800, 0 , 100, CFSTR("AppleSDGothicNeo-Bold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Bold", 800, 20, 100, CFSTR("AppleSDGothicNeo-ExtraBold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Bold", 900, 0 , 100, CFSTR("AppleSDGothicNeo-Bold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Bold", 900, 20, 100, CFSTR("AppleSDGothicNeo-Heavy")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-ExtraBold", 100, 0 , 100, CFSTR("AppleSDGothicNeo-ExtraBold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-ExtraBold", 100, 20, 100, CFSTR("AppleSDGothicNeo-Thin")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-ExtraBold", 200, 0 , 100, CFSTR("AppleSDGothicNeo-ExtraBold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-ExtraBold", 200, 20, 100, CFSTR("AppleSDGothicNeo-UltraLight")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-ExtraBold", 300, 0 , 100, CFSTR("AppleSDGothicNeo-ExtraBold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-ExtraBold", 300, 20, 100, CFSTR("AppleSDGothicNeo-Light")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-ExtraBold", 400, 0 , 100, CFSTR("AppleSDGothicNeo-ExtraBold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-ExtraBold", 400, 20, 100, CFSTR("AppleSDGothicNeo-Regular")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-ExtraBold", 500, 0 , 100, CFSTR("AppleSDGothicNeo-ExtraBold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-ExtraBold", 500, 20, 100, CFSTR("AppleSDGothicNeo-Medium")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-ExtraBold", 600, 0 , 100, CFSTR("AppleSDGothicNeo-ExtraBold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-ExtraBold", 600, 20, 100, CFSTR("AppleSDGothicNeo-SemiBold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-ExtraBold", 700, 0 , 100, CFSTR("AppleSDGothicNeo-ExtraBold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-ExtraBold", 700, 20, 100, CFSTR("AppleSDGothicNeo-Bold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-ExtraBold", 800, 0 , 100, CFSTR("AppleSDGothicNeo-ExtraBold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-ExtraBold", 800, 20, 100, CFSTR("AppleSDGothicNeo-ExtraBold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-ExtraBold", 900, 0 , 100, CFSTR("AppleSDGothicNeo-ExtraBold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-ExtraBold", 900, 20, 100, CFSTR("AppleSDGothicNeo-Heavy")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Heavy", 100, 0 , 100, CFSTR("AppleSDGothicNeo-Heavy")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Heavy", 100, 20, 100, CFSTR("AppleSDGothicNeo-Thin")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Heavy", 200, 0 , 100, CFSTR("AppleSDGothicNeo-Heavy")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Heavy", 200, 20, 100, CFSTR("AppleSDGothicNeo-UltraLight")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Heavy", 300, 0 , 100, CFSTR("AppleSDGothicNeo-Heavy")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Heavy", 300, 20, 100, CFSTR("AppleSDGothicNeo-Light")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Heavy", 400, 0 , 100, CFSTR("AppleSDGothicNeo-Heavy")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Heavy", 400, 20, 100, CFSTR("AppleSDGothicNeo-Regular")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Heavy", 500, 0 , 100, CFSTR("AppleSDGothicNeo-Heavy")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Heavy", 500, 20, 100, CFSTR("AppleSDGothicNeo-Medium")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Heavy", 600, 0 , 100, CFSTR("AppleSDGothicNeo-Heavy")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Heavy", 600, 20, 100, CFSTR("AppleSDGothicNeo-SemiBold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Heavy", 700, 0 , 100, CFSTR("AppleSDGothicNeo-Heavy")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Heavy", 700, 20, 100, CFSTR("AppleSDGothicNeo-Bold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Heavy", 800, 0 , 100, CFSTR("AppleSDGothicNeo-Heavy")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Heavy", 800, 20, 100, CFSTR("AppleSDGothicNeo-ExtraBold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Heavy", 900, 0 , 100, CFSTR("AppleSDGothicNeo-Heavy")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Heavy", 900, 20, 100, CFSTR("AppleSDGothicNeo-Heavy")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Light", 100, 0 , 100, CFSTR("AppleSDGothicNeo-Light")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Light", 100, 20, 100, CFSTR("AppleSDGothicNeo-Thin")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Light", 200, 0 , 100, CFSTR("AppleSDGothicNeo-Light")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Light", 200, 20, 100, CFSTR("AppleSDGothicNeo-UltraLight")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Light", 300, 0 , 100, CFSTR("AppleSDGothicNeo-Light")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Light", 300, 20, 100, CFSTR("AppleSDGothicNeo-Light")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Light", 400, 0 , 100, CFSTR("AppleSDGothicNeo-Light")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Light", 400, 20, 100, CFSTR("AppleSDGothicNeo-Regular")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Light", 500, 0 , 100, CFSTR("AppleSDGothicNeo-Light")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Light", 500, 20, 100, CFSTR("AppleSDGothicNeo-Medium")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Light", 600, 0 , 100, CFSTR("AppleSDGothicNeo-SemiBold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Light", 600, 20, 100, CFSTR("AppleSDGothicNeo-SemiBold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Light", 700, 0 , 100, CFSTR("AppleSDGothicNeo-Bold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Light", 700, 20, 100, CFSTR("AppleSDGothicNeo-Bold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Light", 800, 0 , 100, CFSTR("AppleSDGothicNeo-ExtraBold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Light", 800, 20, 100, CFSTR("AppleSDGothicNeo-ExtraBold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Light", 900, 0 , 100, CFSTR("AppleSDGothicNeo-Heavy")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Light", 900, 20, 100, CFSTR("AppleSDGothicNeo-Heavy")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Medium", 100, 0 , 100, CFSTR("AppleSDGothicNeo-Medium")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Medium", 100, 20, 100, CFSTR("AppleSDGothicNeo-Thin")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Medium", 200, 0 , 100, CFSTR("AppleSDGothicNeo-Medium")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Medium", 200, 20, 100, CFSTR("AppleSDGothicNeo-UltraLight")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Medium", 300, 0 , 100, CFSTR("AppleSDGothicNeo-Medium")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Medium", 300, 20, 100, CFSTR("AppleSDGothicNeo-Light")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Medium", 400, 0 , 100, CFSTR("AppleSDGothicNeo-Medium")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Medium", 400, 20, 100, CFSTR("AppleSDGothicNeo-Regular")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Medium", 500, 0 , 100, CFSTR("AppleSDGothicNeo-Medium")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Medium", 500, 20, 100, CFSTR("AppleSDGothicNeo-Medium")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Medium", 600, 0 , 100, CFSTR("AppleSDGothicNeo-SemiBold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Medium", 600, 20, 100, CFSTR("AppleSDGothicNeo-SemiBold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Medium", 700, 0 , 100, CFSTR("AppleSDGothicNeo-Bold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Medium", 700, 20, 100, CFSTR("AppleSDGothicNeo-Bold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Medium", 800, 0 , 100, CFSTR("AppleSDGothicNeo-ExtraBold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Medium", 800, 20, 100, CFSTR("AppleSDGothicNeo-ExtraBold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Medium", 900, 0 , 100, CFSTR("AppleSDGothicNeo-Heavy")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Medium", 900, 20, 100, CFSTR("AppleSDGothicNeo-Heavy")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Regular", 100, 0 , 100, CFSTR("AppleSDGothicNeo-Regular")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Regular", 100, 20, 100, CFSTR("AppleSDGothicNeo-Thin")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Regular", 200, 0 , 100, CFSTR("AppleSDGothicNeo-Regular")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Regular", 200, 20, 100, CFSTR("AppleSDGothicNeo-UltraLight")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Regular", 300, 0 , 100, CFSTR("AppleSDGothicNeo-Regular")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Regular", 300, 20, 100, CFSTR("AppleSDGothicNeo-Light")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Regular", 400, 0 , 100, CFSTR("AppleSDGothicNeo-Regular")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Regular", 400, 20, 100, CFSTR("AppleSDGothicNeo-Regular")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Regular", 500, 0 , 100, CFSTR("AppleSDGothicNeo-Regular")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Regular", 500, 20, 100, CFSTR("AppleSDGothicNeo-Medium")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Regular", 600, 0 , 100, CFSTR("AppleSDGothicNeo-SemiBold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Regular", 600, 20, 100, CFSTR("AppleSDGothicNeo-SemiBold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Regular", 700, 0 , 100, CFSTR("AppleSDGothicNeo-Bold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Regular", 700, 20, 100, CFSTR("AppleSDGothicNeo-Bold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Regular", 800, 0 , 100, CFSTR("AppleSDGothicNeo-ExtraBold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Regular", 800, 20, 100, CFSTR("AppleSDGothicNeo-ExtraBold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Regular", 900, 0 , 100, CFSTR("AppleSDGothicNeo-Heavy")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Regular", 900, 20, 100, CFSTR("AppleSDGothicNeo-Heavy")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-SemiBold", 100, 0 , 100, CFSTR("AppleSDGothicNeo-SemiBold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-SemiBold", 100, 20, 100, CFSTR("AppleSDGothicNeo-Thin")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-SemiBold", 200, 0 , 100, CFSTR("AppleSDGothicNeo-SemiBold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-SemiBold", 200, 20, 100, CFSTR("AppleSDGothicNeo-UltraLight")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-SemiBold", 300, 0 , 100, CFSTR("AppleSDGothicNeo-SemiBold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-SemiBold", 300, 20, 100, CFSTR("AppleSDGothicNeo-Light")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-SemiBold", 400, 0 , 100, CFSTR("AppleSDGothicNeo-SemiBold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-SemiBold", 400, 20, 100, CFSTR("AppleSDGothicNeo-Regular")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-SemiBold", 500, 0 , 100, CFSTR("AppleSDGothicNeo-SemiBold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-SemiBold", 500, 20, 100, CFSTR("AppleSDGothicNeo-Medium")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-SemiBold", 600, 0 , 100, CFSTR("AppleSDGothicNeo-SemiBold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-SemiBold", 600, 20, 100, CFSTR("AppleSDGothicNeo-SemiBold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-SemiBold", 700, 0 , 100, CFSTR("AppleSDGothicNeo-SemiBold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-SemiBold", 700, 20, 100, CFSTR("AppleSDGothicNeo-Bold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-SemiBold", 800, 0 , 100, CFSTR("AppleSDGothicNeo-SemiBold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-SemiBold", 800, 20, 100, CFSTR("AppleSDGothicNeo-ExtraBold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-SemiBold", 900, 0 , 100, CFSTR("AppleSDGothicNeo-SemiBold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-SemiBold", 900, 20, 100, CFSTR("AppleSDGothicNeo-Heavy")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Thin", 100, 0 , 100, CFSTR("AppleSDGothicNeo-Thin")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Thin", 100, 20, 100, CFSTR("AppleSDGothicNeo-Thin")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Thin", 200, 0 , 100, CFSTR("AppleSDGothicNeo-Thin")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Thin", 200, 20, 100, CFSTR("AppleSDGothicNeo-UltraLight")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Thin", 300, 0 , 100, CFSTR("AppleSDGothicNeo-Thin")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Thin", 300, 20, 100, CFSTR("AppleSDGothicNeo-Light")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Thin", 400, 0 , 100, CFSTR("AppleSDGothicNeo-Thin")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Thin", 400, 20, 100, CFSTR("AppleSDGothicNeo-Regular")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Thin", 500, 0 , 100, CFSTR("AppleSDGothicNeo-Thin")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Thin", 500, 20, 100, CFSTR("AppleSDGothicNeo-Medium")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Thin", 600, 0 , 100, CFSTR("AppleSDGothicNeo-SemiBold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Thin", 600, 20, 100, CFSTR("AppleSDGothicNeo-SemiBold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Thin", 700, 0 , 100, CFSTR("AppleSDGothicNeo-Bold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Thin", 700, 20, 100, CFSTR("AppleSDGothicNeo-Bold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Thin", 800, 0 , 100, CFSTR("AppleSDGothicNeo-ExtraBold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Thin", 800, 20, 100, CFSTR("AppleSDGothicNeo-ExtraBold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Thin", 900, 0 , 100, CFSTR("AppleSDGothicNeo-Heavy")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-Thin", 900, 20, 100, CFSTR("AppleSDGothicNeo-Heavy")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-UltraLight", 100, 0 , 100, CFSTR("AppleSDGothicNeo-UltraLight")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-UltraLight", 100, 20, 100, CFSTR("AppleSDGothicNeo-Thin")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-UltraLight", 200, 0 , 100, CFSTR("AppleSDGothicNeo-UltraLight")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-UltraLight", 200, 20, 100, CFSTR("AppleSDGothicNeo-UltraLight")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-UltraLight", 300, 0 , 100, CFSTR("AppleSDGothicNeo-UltraLight")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-UltraLight", 300, 20, 100, CFSTR("AppleSDGothicNeo-Light")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-UltraLight", 400, 0 , 100, CFSTR("AppleSDGothicNeo-UltraLight")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-UltraLight", 400, 20, 100, CFSTR("AppleSDGothicNeo-Regular")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-UltraLight", 500, 0 , 100, CFSTR("AppleSDGothicNeo-UltraLight")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-UltraLight", 500, 20, 100, CFSTR("AppleSDGothicNeo-Medium")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-UltraLight", 600, 0 , 100, CFSTR("AppleSDGothicNeo-SemiBold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-UltraLight", 600, 20, 100, CFSTR("AppleSDGothicNeo-SemiBold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-UltraLight", 700, 0 , 100, CFSTR("AppleSDGothicNeo-Bold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-UltraLight", 700, 20, 100, CFSTR("AppleSDGothicNeo-Bold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-UltraLight", 800, 0 , 100, CFSTR("AppleSDGothicNeo-ExtraBold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-UltraLight", 800, 20, 100, CFSTR("AppleSDGothicNeo-ExtraBold")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-UltraLight", 900, 0 , 100, CFSTR("AppleSDGothicNeo-Heavy")));
-    EXPECT_TRUE(compareFonts("AppleSDGothicNeo-UltraLight", 900, 20, 100, CFSTR("AppleSDGothicNeo-Heavy")));
-    EXPECT_TRUE(compareFonts("Avenir-Black", 100, 0 , 100, CFSTR("Avenir-Black")));
-    EXPECT_TRUE(compareFonts("Avenir-Black", 100, 20, 100, CFSTR("Avenir-LightOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Black", 200, 0 , 100, CFSTR("Avenir-Black")));
-    EXPECT_TRUE(compareFonts("Avenir-Black", 200, 20, 100, CFSTR("Avenir-LightOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Black", 300, 0 , 100, CFSTR("Avenir-Black")));
-    EXPECT_TRUE(compareFonts("Avenir-Black", 300, 20, 100, CFSTR("Avenir-LightOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Black", 400, 0 , 100, CFSTR("Avenir-Black")));
-    EXPECT_TRUE(compareFonts("Avenir-Black", 400, 20, 100, CFSTR("Avenir-BookOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Black", 500, 0 , 100, CFSTR("Avenir-Black")));
-    EXPECT_TRUE(compareFonts("Avenir-Black", 500, 20, 100, CFSTR("Avenir-MediumOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Black", 600, 0 , 100, CFSTR("Avenir-Black")));
-    EXPECT_TRUE(compareFonts("Avenir-Black", 600, 20, 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Black", 700, 0 , 100, CFSTR("Avenir-Black")));
-    EXPECT_TRUE(compareFonts("Avenir-Black", 700, 20, 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Black", 800, 0 , 100, CFSTR("Avenir-Black")));
-    EXPECT_TRUE(compareFonts("Avenir-Black", 800, 20, 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Black", 900, 0 , 100, CFSTR("Avenir-Black")));
-    EXPECT_TRUE(compareFonts("Avenir-Black", 900, 20, 100, CFSTR("Avenir-HeavyOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-BlackOblique", 100, 0 , 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-BlackOblique", 100, 20, 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-BlackOblique", 200, 0 , 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-BlackOblique", 200, 20, 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-BlackOblique", 300, 0 , 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-BlackOblique", 300, 20, 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-BlackOblique", 400, 0 , 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-BlackOblique", 400, 20, 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-BlackOblique", 500, 0 , 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-BlackOblique", 500, 20, 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-BlackOblique", 600, 0 , 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-BlackOblique", 600, 20, 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-BlackOblique", 700, 0 , 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-BlackOblique", 700, 20, 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-BlackOblique", 800, 0 , 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-BlackOblique", 800, 20, 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-BlackOblique", 900, 0 , 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-BlackOblique", 900, 20, 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Book", 100, 0 , 100, CFSTR("Avenir-Book")));
-    EXPECT_TRUE(compareFonts("Avenir-Book", 100, 20, 100, CFSTR("Avenir-LightOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Book", 200, 0 , 100, CFSTR("Avenir-Book")));
-    EXPECT_TRUE(compareFonts("Avenir-Book", 200, 20, 100, CFSTR("Avenir-LightOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Book", 300, 0 , 100, CFSTR("Avenir-Book")));
-    EXPECT_TRUE(compareFonts("Avenir-Book", 300, 20, 100, CFSTR("Avenir-LightOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Book", 400, 0 , 100, CFSTR("Avenir-Book")));
-    EXPECT_TRUE(compareFonts("Avenir-Book", 400, 20, 100, CFSTR("Avenir-BookOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Book", 500, 0 , 100, CFSTR("Avenir-Book")));
-    EXPECT_TRUE(compareFonts("Avenir-Book", 500, 20, 100, CFSTR("Avenir-MediumOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Book", 600, 0 , 100, CFSTR("Avenir-Black")));
-    EXPECT_TRUE(compareFonts("Avenir-Book", 600, 20, 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Book", 700, 0 , 100, CFSTR("Avenir-Black")));
-    EXPECT_TRUE(compareFonts("Avenir-Book", 700, 20, 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Book", 800, 0 , 100, CFSTR("Avenir-Black")));
-    EXPECT_TRUE(compareFonts("Avenir-Book", 800, 20, 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Book", 900, 0 , 100, CFSTR("Avenir-Heavy")));
-    EXPECT_TRUE(compareFonts("Avenir-Book", 900, 20, 100, CFSTR("Avenir-HeavyOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-BookOblique", 100, 0 , 100, CFSTR("Avenir-BookOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-BookOblique", 100, 20, 100, CFSTR("Avenir-BookOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-BookOblique", 200, 0 , 100, CFSTR("Avenir-BookOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-BookOblique", 200, 20, 100, CFSTR("Avenir-BookOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-BookOblique", 300, 0 , 100, CFSTR("Avenir-BookOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-BookOblique", 300, 20, 100, CFSTR("Avenir-BookOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-BookOblique", 400, 0 , 100, CFSTR("Avenir-BookOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-BookOblique", 400, 20, 100, CFSTR("Avenir-BookOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-BookOblique", 500, 0 , 100, CFSTR("Avenir-BookOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-BookOblique", 500, 20, 100, CFSTR("Avenir-BookOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-BookOblique", 600, 0 , 100, CFSTR("Avenir-Black")));
-    EXPECT_TRUE(compareFonts("Avenir-BookOblique", 600, 20, 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-BookOblique", 700, 0 , 100, CFSTR("Avenir-Black")));
-    EXPECT_TRUE(compareFonts("Avenir-BookOblique", 700, 20, 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-BookOblique", 800, 0 , 100, CFSTR("Avenir-Black")));
-    EXPECT_TRUE(compareFonts("Avenir-BookOblique", 800, 20, 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-BookOblique", 900, 0 , 100, CFSTR("Avenir-Heavy")));
-    EXPECT_TRUE(compareFonts("Avenir-BookOblique", 900, 20, 100, CFSTR("Avenir-HeavyOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Heavy", 100, 0 , 100, CFSTR("Avenir-Heavy")));
-    EXPECT_TRUE(compareFonts("Avenir-Heavy", 100, 20, 100, CFSTR("Avenir-LightOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Heavy", 200, 0 , 100, CFSTR("Avenir-Heavy")));
-    EXPECT_TRUE(compareFonts("Avenir-Heavy", 200, 20, 100, CFSTR("Avenir-LightOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Heavy", 300, 0 , 100, CFSTR("Avenir-Heavy")));
-    EXPECT_TRUE(compareFonts("Avenir-Heavy", 300, 20, 100, CFSTR("Avenir-LightOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Heavy", 400, 0 , 100, CFSTR("Avenir-Heavy")));
-    EXPECT_TRUE(compareFonts("Avenir-Heavy", 400, 20, 100, CFSTR("Avenir-BookOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Heavy", 500, 0 , 100, CFSTR("Avenir-Heavy")));
-    EXPECT_TRUE(compareFonts("Avenir-Heavy", 500, 20, 100, CFSTR("Avenir-MediumOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Heavy", 600, 0 , 100, CFSTR("Avenir-Heavy")));
-    EXPECT_TRUE(compareFonts("Avenir-Heavy", 600, 20, 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Heavy", 700, 0 , 100, CFSTR("Avenir-Heavy")));
-    EXPECT_TRUE(compareFonts("Avenir-Heavy", 700, 20, 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Heavy", 800, 0 , 100, CFSTR("Avenir-Heavy")));
-    EXPECT_TRUE(compareFonts("Avenir-Heavy", 800, 20, 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Heavy", 900, 0 , 100, CFSTR("Avenir-Heavy")));
-    EXPECT_TRUE(compareFonts("Avenir-Heavy", 900, 20, 100, CFSTR("Avenir-HeavyOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-HeavyOblique", 100, 0 , 100, CFSTR("Avenir-HeavyOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-HeavyOblique", 100, 20, 100, CFSTR("Avenir-HeavyOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-HeavyOblique", 200, 0 , 100, CFSTR("Avenir-HeavyOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-HeavyOblique", 200, 20, 100, CFSTR("Avenir-HeavyOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-HeavyOblique", 300, 0 , 100, CFSTR("Avenir-HeavyOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-HeavyOblique", 300, 20, 100, CFSTR("Avenir-HeavyOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-HeavyOblique", 400, 0 , 100, CFSTR("Avenir-HeavyOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-HeavyOblique", 400, 20, 100, CFSTR("Avenir-HeavyOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-HeavyOblique", 500, 0 , 100, CFSTR("Avenir-HeavyOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-HeavyOblique", 500, 20, 100, CFSTR("Avenir-HeavyOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-HeavyOblique", 600, 0 , 100, CFSTR("Avenir-HeavyOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-HeavyOblique", 600, 20, 100, CFSTR("Avenir-HeavyOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-HeavyOblique", 700, 0 , 100, CFSTR("Avenir-HeavyOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-HeavyOblique", 700, 20, 100, CFSTR("Avenir-HeavyOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-HeavyOblique", 800, 0 , 100, CFSTR("Avenir-HeavyOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-HeavyOblique", 800, 20, 100, CFSTR("Avenir-HeavyOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-HeavyOblique", 900, 0 , 100, CFSTR("Avenir-HeavyOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-HeavyOblique", 900, 20, 100, CFSTR("Avenir-HeavyOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Light", 100, 0 , 100, CFSTR("Avenir-Light")));
-    EXPECT_TRUE(compareFonts("Avenir-Light", 100, 20, 100, CFSTR("Avenir-LightOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Light", 200, 0 , 100, CFSTR("Avenir-Light")));
-    EXPECT_TRUE(compareFonts("Avenir-Light", 200, 20, 100, CFSTR("Avenir-LightOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Light", 300, 0 , 100, CFSTR("Avenir-Light")));
-    EXPECT_TRUE(compareFonts("Avenir-Light", 300, 20, 100, CFSTR("Avenir-LightOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Light", 400, 0 , 100, CFSTR("Avenir-Light")));
-    EXPECT_TRUE(compareFonts("Avenir-Light", 400, 20, 100, CFSTR("Avenir-BookOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Light", 500, 0 , 100, CFSTR("Avenir-Light")));
-    EXPECT_TRUE(compareFonts("Avenir-Light", 500, 20, 100, CFSTR("Avenir-MediumOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Light", 600, 0 , 100, CFSTR("Avenir-Black")));
-    EXPECT_TRUE(compareFonts("Avenir-Light", 600, 20, 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Light", 700, 0 , 100, CFSTR("Avenir-Black")));
-    EXPECT_TRUE(compareFonts("Avenir-Light", 700, 20, 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Light", 800, 0 , 100, CFSTR("Avenir-Black")));
-    EXPECT_TRUE(compareFonts("Avenir-Light", 800, 20, 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Light", 900, 0 , 100, CFSTR("Avenir-Heavy")));
-    EXPECT_TRUE(compareFonts("Avenir-Light", 900, 20, 100, CFSTR("Avenir-HeavyOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-LightOblique", 100, 0 , 100, CFSTR("Avenir-LightOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-LightOblique", 100, 20, 100, CFSTR("Avenir-LightOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-LightOblique", 200, 0 , 100, CFSTR("Avenir-LightOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-LightOblique", 200, 20, 100, CFSTR("Avenir-LightOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-LightOblique", 300, 0 , 100, CFSTR("Avenir-LightOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-LightOblique", 300, 20, 100, CFSTR("Avenir-LightOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-LightOblique", 400, 0 , 100, CFSTR("Avenir-LightOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-LightOblique", 400, 20, 100, CFSTR("Avenir-LightOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-LightOblique", 500, 0 , 100, CFSTR("Avenir-LightOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-LightOblique", 500, 20, 100, CFSTR("Avenir-LightOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-LightOblique", 600, 0 , 100, CFSTR("Avenir-Black")));
-    EXPECT_TRUE(compareFonts("Avenir-LightOblique", 600, 20, 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-LightOblique", 700, 0 , 100, CFSTR("Avenir-Black")));
-    EXPECT_TRUE(compareFonts("Avenir-LightOblique", 700, 20, 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-LightOblique", 800, 0 , 100, CFSTR("Avenir-Black")));
-    EXPECT_TRUE(compareFonts("Avenir-LightOblique", 800, 20, 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-LightOblique", 900, 0 , 100, CFSTR("Avenir-Heavy")));
-    EXPECT_TRUE(compareFonts("Avenir-LightOblique", 900, 20, 100, CFSTR("Avenir-HeavyOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Medium", 100, 0 , 100, CFSTR("Avenir-Medium")));
-    EXPECT_TRUE(compareFonts("Avenir-Medium", 100, 20, 100, CFSTR("Avenir-LightOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Medium", 200, 0 , 100, CFSTR("Avenir-Medium")));
-    EXPECT_TRUE(compareFonts("Avenir-Medium", 200, 20, 100, CFSTR("Avenir-LightOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Medium", 300, 0 , 100, CFSTR("Avenir-Medium")));
-    EXPECT_TRUE(compareFonts("Avenir-Medium", 300, 20, 100, CFSTR("Avenir-LightOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Medium", 400, 0 , 100, CFSTR("Avenir-Medium")));
-    EXPECT_TRUE(compareFonts("Avenir-Medium", 400, 20, 100, CFSTR("Avenir-BookOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Medium", 500, 0 , 100, CFSTR("Avenir-Medium")));
-    EXPECT_TRUE(compareFonts("Avenir-Medium", 500, 20, 100, CFSTR("Avenir-MediumOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Medium", 600, 0 , 100, CFSTR("Avenir-Black")));
-    EXPECT_TRUE(compareFonts("Avenir-Medium", 600, 20, 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Medium", 700, 0 , 100, CFSTR("Avenir-Black")));
-    EXPECT_TRUE(compareFonts("Avenir-Medium", 700, 20, 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Medium", 800, 0 , 100, CFSTR("Avenir-Black")));
-    EXPECT_TRUE(compareFonts("Avenir-Medium", 800, 20, 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Medium", 900, 0 , 100, CFSTR("Avenir-Heavy")));
-    EXPECT_TRUE(compareFonts("Avenir-Medium", 900, 20, 100, CFSTR("Avenir-HeavyOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-MediumOblique", 100, 0 , 100, CFSTR("Avenir-MediumOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-MediumOblique", 100, 20, 100, CFSTR("Avenir-MediumOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-MediumOblique", 200, 0 , 100, CFSTR("Avenir-MediumOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-MediumOblique", 200, 20, 100, CFSTR("Avenir-MediumOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-MediumOblique", 300, 0 , 100, CFSTR("Avenir-MediumOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-MediumOblique", 300, 20, 100, CFSTR("Avenir-MediumOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-MediumOblique", 400, 0 , 100, CFSTR("Avenir-MediumOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-MediumOblique", 400, 20, 100, CFSTR("Avenir-MediumOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-MediumOblique", 500, 0 , 100, CFSTR("Avenir-MediumOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-MediumOblique", 500, 20, 100, CFSTR("Avenir-MediumOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-MediumOblique", 600, 0 , 100, CFSTR("Avenir-Black")));
-    EXPECT_TRUE(compareFonts("Avenir-MediumOblique", 600, 20, 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-MediumOblique", 700, 0 , 100, CFSTR("Avenir-Black")));
-    EXPECT_TRUE(compareFonts("Avenir-MediumOblique", 700, 20, 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-MediumOblique", 800, 0 , 100, CFSTR("Avenir-Black")));
-    EXPECT_TRUE(compareFonts("Avenir-MediumOblique", 800, 20, 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-MediumOblique", 900, 0 , 100, CFSTR("Avenir-Heavy")));
-    EXPECT_TRUE(compareFonts("Avenir-MediumOblique", 900, 20, 100, CFSTR("Avenir-HeavyOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Oblique", 100, 0 , 100, CFSTR("Avenir-Oblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Oblique", 100, 20, 100, CFSTR("Avenir-Oblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Oblique", 200, 0 , 100, CFSTR("Avenir-Oblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Oblique", 200, 20, 100, CFSTR("Avenir-Oblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Oblique", 300, 0 , 100, CFSTR("Avenir-Oblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Oblique", 300, 20, 100, CFSTR("Avenir-Oblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Oblique", 400, 0 , 100, CFSTR("Avenir-Oblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Oblique", 400, 20, 100, CFSTR("Avenir-Oblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Oblique", 500, 0 , 100, CFSTR("Avenir-Oblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Oblique", 500, 20, 100, CFSTR("Avenir-Oblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Oblique", 600, 0 , 100, CFSTR("Avenir-Black")));
-    EXPECT_TRUE(compareFonts("Avenir-Oblique", 600, 20, 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Oblique", 700, 0 , 100, CFSTR("Avenir-Black")));
-    EXPECT_TRUE(compareFonts("Avenir-Oblique", 700, 20, 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Oblique", 800, 0 , 100, CFSTR("Avenir-Black")));
-    EXPECT_TRUE(compareFonts("Avenir-Oblique", 800, 20, 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Oblique", 900, 0 , 100, CFSTR("Avenir-Heavy")));
-    EXPECT_TRUE(compareFonts("Avenir-Oblique", 900, 20, 100, CFSTR("Avenir-HeavyOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Roman", 100, 0 , 100, CFSTR("Avenir-Roman")));
-    EXPECT_TRUE(compareFonts("Avenir-Roman", 100, 20, 100, CFSTR("Avenir-LightOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Roman", 200, 0 , 100, CFSTR("Avenir-Roman")));
-    EXPECT_TRUE(compareFonts("Avenir-Roman", 200, 20, 100, CFSTR("Avenir-LightOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Roman", 300, 0 , 100, CFSTR("Avenir-Roman")));
-    EXPECT_TRUE(compareFonts("Avenir-Roman", 300, 20, 100, CFSTR("Avenir-LightOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Roman", 400, 0 , 100, CFSTR("Avenir-Roman")));
-    EXPECT_TRUE(compareFonts("Avenir-Roman", 400, 20, 100, CFSTR("Avenir-BookOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Roman", 500, 0 , 100, CFSTR("Avenir-Roman")));
-    EXPECT_TRUE(compareFonts("Avenir-Roman", 500, 20, 100, CFSTR("Avenir-MediumOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Roman", 600, 0 , 100, CFSTR("Avenir-Black")));
-    EXPECT_TRUE(compareFonts("Avenir-Roman", 600, 20, 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Roman", 700, 0 , 100, CFSTR("Avenir-Black")));
-    EXPECT_TRUE(compareFonts("Avenir-Roman", 700, 20, 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Roman", 800, 0 , 100, CFSTR("Avenir-Black")));
-    EXPECT_TRUE(compareFonts("Avenir-Roman", 800, 20, 100, CFSTR("Avenir-BlackOblique")));
-    EXPECT_TRUE(compareFonts("Avenir-Roman", 900, 0 , 100, CFSTR("Avenir-Heavy")));
-    EXPECT_TRUE(compareFonts("Avenir-Roman", 900, 20, 100, CFSTR("Avenir-HeavyOblique")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Bold", 100, 0 , 100, CFSTR("AvenirNext-Bold")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Bold", 100, 20, 100, CFSTR("AvenirNext-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Bold", 200, 0 , 100, CFSTR("AvenirNext-Bold")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Bold", 200, 20, 100, CFSTR("AvenirNext-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Bold", 300, 0 , 100, CFSTR("AvenirNext-Bold")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Bold", 300, 20, 100, CFSTR("AvenirNext-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Bold", 400, 0 , 100, CFSTR("AvenirNext-Bold")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Bold", 400, 20, 100, CFSTR("AvenirNext-Italic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Bold", 500, 0 , 100, CFSTR("AvenirNext-Bold")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Bold", 500, 20, 100, CFSTR("AvenirNext-MediumItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Bold", 600, 0 , 100, CFSTR("AvenirNext-Bold")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Bold", 600, 20, 100, CFSTR("AvenirNext-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Bold", 700, 0 , 100, CFSTR("AvenirNext-Bold")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Bold", 700, 20, 100, CFSTR("AvenirNext-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Bold", 800, 0 , 100, CFSTR("AvenirNext-Bold")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Bold", 800, 20, 100, CFSTR("AvenirNext-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Bold", 900, 0 , 100, CFSTR("AvenirNext-Bold")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Bold", 900, 20, 100, CFSTR("AvenirNext-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-BoldItalic", 100, 0 , 100, CFSTR("AvenirNext-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-BoldItalic", 100, 20, 100, CFSTR("AvenirNext-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-BoldItalic", 200, 0 , 100, CFSTR("AvenirNext-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-BoldItalic", 200, 20, 100, CFSTR("AvenirNext-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-BoldItalic", 300, 0 , 100, CFSTR("AvenirNext-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-BoldItalic", 300, 20, 100, CFSTR("AvenirNext-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-BoldItalic", 400, 0 , 100, CFSTR("AvenirNext-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-BoldItalic", 400, 20, 100, CFSTR("AvenirNext-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-BoldItalic", 500, 0 , 100, CFSTR("AvenirNext-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-BoldItalic", 500, 20, 100, CFSTR("AvenirNext-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-BoldItalic", 600, 0 , 100, CFSTR("AvenirNext-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-BoldItalic", 600, 20, 100, CFSTR("AvenirNext-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-BoldItalic", 700, 0 , 100, CFSTR("AvenirNext-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-BoldItalic", 700, 20, 100, CFSTR("AvenirNext-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-BoldItalic", 800, 0 , 100, CFSTR("AvenirNext-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-BoldItalic", 800, 20, 100, CFSTR("AvenirNext-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-BoldItalic", 900, 0 , 100, CFSTR("AvenirNext-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-BoldItalic", 900, 20, 100, CFSTR("AvenirNext-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-DemiBold", 100, 0 , 100, CFSTR("AvenirNext-DemiBold")));
-    EXPECT_TRUE(compareFonts("AvenirNext-DemiBold", 100, 20, 100, CFSTR("AvenirNext-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-DemiBold", 200, 0 , 100, CFSTR("AvenirNext-DemiBold")));
-    EXPECT_TRUE(compareFonts("AvenirNext-DemiBold", 200, 20, 100, CFSTR("AvenirNext-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-DemiBold", 300, 0 , 100, CFSTR("AvenirNext-DemiBold")));
-    EXPECT_TRUE(compareFonts("AvenirNext-DemiBold", 300, 20, 100, CFSTR("AvenirNext-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-DemiBold", 400, 0 , 100, CFSTR("AvenirNext-DemiBold")));
-    EXPECT_TRUE(compareFonts("AvenirNext-DemiBold", 400, 20, 100, CFSTR("AvenirNext-Italic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-DemiBold", 500, 0 , 100, CFSTR("AvenirNext-DemiBold")));
-    EXPECT_TRUE(compareFonts("AvenirNext-DemiBold", 500, 20, 100, CFSTR("AvenirNext-MediumItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-DemiBold", 600, 0 , 100, CFSTR("AvenirNext-DemiBold")));
-    EXPECT_TRUE(compareFonts("AvenirNext-DemiBold", 600, 20, 100, CFSTR("AvenirNext-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-DemiBold", 700, 0 , 100, CFSTR("AvenirNext-DemiBold")));
-    EXPECT_TRUE(compareFonts("AvenirNext-DemiBold", 700, 20, 100, CFSTR("AvenirNext-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-DemiBold", 800, 0 , 100, CFSTR("AvenirNext-DemiBold")));
-    EXPECT_TRUE(compareFonts("AvenirNext-DemiBold", 800, 20, 100, CFSTR("AvenirNext-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-DemiBold", 900, 0 , 100, CFSTR("AvenirNext-DemiBold")));
-    EXPECT_TRUE(compareFonts("AvenirNext-DemiBold", 900, 20, 100, CFSTR("AvenirNext-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-DemiBoldItalic", 100, 0 , 100, CFSTR("AvenirNext-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-DemiBoldItalic", 100, 20, 100, CFSTR("AvenirNext-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-DemiBoldItalic", 200, 0 , 100, CFSTR("AvenirNext-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-DemiBoldItalic", 200, 20, 100, CFSTR("AvenirNext-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-DemiBoldItalic", 300, 0 , 100, CFSTR("AvenirNext-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-DemiBoldItalic", 300, 20, 100, CFSTR("AvenirNext-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-DemiBoldItalic", 400, 0 , 100, CFSTR("AvenirNext-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-DemiBoldItalic", 400, 20, 100, CFSTR("AvenirNext-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-DemiBoldItalic", 500, 0 , 100, CFSTR("AvenirNext-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-DemiBoldItalic", 500, 20, 100, CFSTR("AvenirNext-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-DemiBoldItalic", 600, 0 , 100, CFSTR("AvenirNext-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-DemiBoldItalic", 600, 20, 100, CFSTR("AvenirNext-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-DemiBoldItalic", 700, 0 , 100, CFSTR("AvenirNext-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-DemiBoldItalic", 700, 20, 100, CFSTR("AvenirNext-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-DemiBoldItalic", 800, 0 , 100, CFSTR("AvenirNext-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-DemiBoldItalic", 800, 20, 100, CFSTR("AvenirNext-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-DemiBoldItalic", 900, 0 , 100, CFSTR("AvenirNext-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-DemiBoldItalic", 900, 20, 100, CFSTR("AvenirNext-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Heavy", 100, 0 , 100, CFSTR("AvenirNext-Heavy")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Heavy", 100, 20, 100, CFSTR("AvenirNext-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Heavy", 200, 0 , 100, CFSTR("AvenirNext-Heavy")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Heavy", 200, 20, 100, CFSTR("AvenirNext-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Heavy", 300, 0 , 100, CFSTR("AvenirNext-Heavy")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Heavy", 300, 20, 100, CFSTR("AvenirNext-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Heavy", 400, 0 , 100, CFSTR("AvenirNext-Heavy")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Heavy", 400, 20, 100, CFSTR("AvenirNext-Italic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Heavy", 500, 0 , 100, CFSTR("AvenirNext-Heavy")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Heavy", 500, 20, 100, CFSTR("AvenirNext-MediumItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Heavy", 600, 0 , 100, CFSTR("AvenirNext-Heavy")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Heavy", 600, 20, 100, CFSTR("AvenirNext-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Heavy", 700, 0 , 100, CFSTR("AvenirNext-Heavy")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Heavy", 700, 20, 100, CFSTR("AvenirNext-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Heavy", 800, 0 , 100, CFSTR("AvenirNext-Heavy")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Heavy", 800, 20, 100, CFSTR("AvenirNext-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Heavy", 900, 0 , 100, CFSTR("AvenirNext-Heavy")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Heavy", 900, 20, 100, CFSTR("AvenirNext-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-HeavyItalic", 100, 0 , 100, CFSTR("AvenirNext-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-HeavyItalic", 100, 20, 100, CFSTR("AvenirNext-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-HeavyItalic", 200, 0 , 100, CFSTR("AvenirNext-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-HeavyItalic", 200, 20, 100, CFSTR("AvenirNext-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-HeavyItalic", 300, 0 , 100, CFSTR("AvenirNext-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-HeavyItalic", 300, 20, 100, CFSTR("AvenirNext-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-HeavyItalic", 400, 0 , 100, CFSTR("AvenirNext-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-HeavyItalic", 400, 20, 100, CFSTR("AvenirNext-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-HeavyItalic", 500, 0 , 100, CFSTR("AvenirNext-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-HeavyItalic", 500, 20, 100, CFSTR("AvenirNext-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-HeavyItalic", 600, 0 , 100, CFSTR("AvenirNext-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-HeavyItalic", 600, 20, 100, CFSTR("AvenirNext-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-HeavyItalic", 700, 0 , 100, CFSTR("AvenirNext-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-HeavyItalic", 700, 20, 100, CFSTR("AvenirNext-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-HeavyItalic", 800, 0 , 100, CFSTR("AvenirNext-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-HeavyItalic", 800, 20, 100, CFSTR("AvenirNext-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-HeavyItalic", 900, 0 , 100, CFSTR("AvenirNext-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-HeavyItalic", 900, 20, 100, CFSTR("AvenirNext-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Italic", 100, 0 , 100, CFSTR("AvenirNext-Italic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Italic", 100, 20, 100, CFSTR("AvenirNext-Italic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Italic", 200, 0 , 100, CFSTR("AvenirNext-Italic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Italic", 200, 20, 100, CFSTR("AvenirNext-Italic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Italic", 300, 0 , 100, CFSTR("AvenirNext-Italic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Italic", 300, 20, 100, CFSTR("AvenirNext-Italic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Italic", 400, 0 , 100, CFSTR("AvenirNext-Italic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Italic", 400, 20, 100, CFSTR("AvenirNext-Italic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Italic", 500, 0 , 100, CFSTR("AvenirNext-Italic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Italic", 500, 20, 100, CFSTR("AvenirNext-Italic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Italic", 600, 0 , 100, CFSTR("AvenirNext-DemiBold")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Italic", 600, 20, 100, CFSTR("AvenirNext-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Italic", 700, 0 , 100, CFSTR("AvenirNext-Bold")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Italic", 700, 20, 100, CFSTR("AvenirNext-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Italic", 800, 0 , 100, CFSTR("AvenirNext-Heavy")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Italic", 800, 20, 100, CFSTR("AvenirNext-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Italic", 900, 0 , 100, CFSTR("AvenirNext-Heavy")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Italic", 900, 20, 100, CFSTR("AvenirNext-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Medium", 100, 0 , 100, CFSTR("AvenirNext-Medium")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Medium", 100, 20, 100, CFSTR("AvenirNext-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Medium", 200, 0 , 100, CFSTR("AvenirNext-Medium")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Medium", 200, 20, 100, CFSTR("AvenirNext-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Medium", 300, 0 , 100, CFSTR("AvenirNext-Medium")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Medium", 300, 20, 100, CFSTR("AvenirNext-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Medium", 400, 0 , 100, CFSTR("AvenirNext-Medium")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Medium", 400, 20, 100, CFSTR("AvenirNext-Italic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Medium", 500, 0 , 100, CFSTR("AvenirNext-Medium")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Medium", 500, 20, 100, CFSTR("AvenirNext-MediumItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Medium", 600, 0 , 100, CFSTR("AvenirNext-DemiBold")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Medium", 600, 20, 100, CFSTR("AvenirNext-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Medium", 700, 0 , 100, CFSTR("AvenirNext-Bold")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Medium", 700, 20, 100, CFSTR("AvenirNext-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Medium", 800, 0 , 100, CFSTR("AvenirNext-Heavy")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Medium", 800, 20, 100, CFSTR("AvenirNext-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Medium", 900, 0 , 100, CFSTR("AvenirNext-Heavy")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Medium", 900, 20, 100, CFSTR("AvenirNext-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-MediumItalic", 100, 0 , 100, CFSTR("AvenirNext-MediumItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-MediumItalic", 100, 20, 100, CFSTR("AvenirNext-MediumItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-MediumItalic", 200, 0 , 100, CFSTR("AvenirNext-MediumItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-MediumItalic", 200, 20, 100, CFSTR("AvenirNext-MediumItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-MediumItalic", 300, 0 , 100, CFSTR("AvenirNext-MediumItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-MediumItalic", 300, 20, 100, CFSTR("AvenirNext-MediumItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-MediumItalic", 400, 0 , 100, CFSTR("AvenirNext-MediumItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-MediumItalic", 400, 20, 100, CFSTR("AvenirNext-MediumItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-MediumItalic", 500, 0 , 100, CFSTR("AvenirNext-MediumItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-MediumItalic", 500, 20, 100, CFSTR("AvenirNext-MediumItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-MediumItalic", 600, 0 , 100, CFSTR("AvenirNext-DemiBold")));
-    EXPECT_TRUE(compareFonts("AvenirNext-MediumItalic", 600, 20, 100, CFSTR("AvenirNext-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-MediumItalic", 700, 0 , 100, CFSTR("AvenirNext-Bold")));
-    EXPECT_TRUE(compareFonts("AvenirNext-MediumItalic", 700, 20, 100, CFSTR("AvenirNext-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-MediumItalic", 800, 0 , 100, CFSTR("AvenirNext-Heavy")));
-    EXPECT_TRUE(compareFonts("AvenirNext-MediumItalic", 800, 20, 100, CFSTR("AvenirNext-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-MediumItalic", 900, 0 , 100, CFSTR("AvenirNext-Heavy")));
-    EXPECT_TRUE(compareFonts("AvenirNext-MediumItalic", 900, 20, 100, CFSTR("AvenirNext-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Regular", 100, 0 , 100, CFSTR("AvenirNext-Regular")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Regular", 100, 20, 100, CFSTR("AvenirNext-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Regular", 200, 0 , 100, CFSTR("AvenirNext-Regular")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Regular", 200, 20, 100, CFSTR("AvenirNext-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Regular", 300, 0 , 100, CFSTR("AvenirNext-Regular")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Regular", 300, 20, 100, CFSTR("AvenirNext-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Regular", 400, 0 , 100, CFSTR("AvenirNext-Regular")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Regular", 400, 20, 100, CFSTR("AvenirNext-Italic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Regular", 500, 0 , 100, CFSTR("AvenirNext-Regular")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Regular", 500, 20, 100, CFSTR("AvenirNext-MediumItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Regular", 600, 0 , 100, CFSTR("AvenirNext-DemiBold")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Regular", 600, 20, 100, CFSTR("AvenirNext-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Regular", 700, 0 , 100, CFSTR("AvenirNext-Bold")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Regular", 700, 20, 100, CFSTR("AvenirNext-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Regular", 800, 0 , 100, CFSTR("AvenirNext-Heavy")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Regular", 800, 20, 100, CFSTR("AvenirNext-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Regular", 900, 0 , 100, CFSTR("AvenirNext-Heavy")));
-    EXPECT_TRUE(compareFonts("AvenirNext-Regular", 900, 20, 100, CFSTR("AvenirNext-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-UltraLight", 100, 0 , 100, CFSTR("AvenirNext-UltraLight")));
-    EXPECT_TRUE(compareFonts("AvenirNext-UltraLight", 100, 20, 100, CFSTR("AvenirNext-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-UltraLight", 200, 0 , 100, CFSTR("AvenirNext-UltraLight")));
-    EXPECT_TRUE(compareFonts("AvenirNext-UltraLight", 200, 20, 100, CFSTR("AvenirNext-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-UltraLight", 300, 0 , 100, CFSTR("AvenirNext-UltraLight")));
-    EXPECT_TRUE(compareFonts("AvenirNext-UltraLight", 300, 20, 100, CFSTR("AvenirNext-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-UltraLight", 400, 0 , 100, CFSTR("AvenirNext-UltraLight")));
-    EXPECT_TRUE(compareFonts("AvenirNext-UltraLight", 400, 20, 100, CFSTR("AvenirNext-Italic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-UltraLight", 500, 0 , 100, CFSTR("AvenirNext-UltraLight")));
-    EXPECT_TRUE(compareFonts("AvenirNext-UltraLight", 500, 20, 100, CFSTR("AvenirNext-MediumItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-UltraLight", 600, 0 , 100, CFSTR("AvenirNext-DemiBold")));
-    EXPECT_TRUE(compareFonts("AvenirNext-UltraLight", 600, 20, 100, CFSTR("AvenirNext-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-UltraLight", 700, 0 , 100, CFSTR("AvenirNext-Bold")));
-    EXPECT_TRUE(compareFonts("AvenirNext-UltraLight", 700, 20, 100, CFSTR("AvenirNext-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-UltraLight", 800, 0 , 100, CFSTR("AvenirNext-Heavy")));
-    EXPECT_TRUE(compareFonts("AvenirNext-UltraLight", 800, 20, 100, CFSTR("AvenirNext-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-UltraLight", 900, 0 , 100, CFSTR("AvenirNext-Heavy")));
-    EXPECT_TRUE(compareFonts("AvenirNext-UltraLight", 900, 20, 100, CFSTR("AvenirNext-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-UltraLightItalic", 100, 0 , 100, CFSTR("AvenirNext-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-UltraLightItalic", 100, 20, 100, CFSTR("AvenirNext-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-UltraLightItalic", 200, 0 , 100, CFSTR("AvenirNext-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-UltraLightItalic", 200, 20, 100, CFSTR("AvenirNext-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-UltraLightItalic", 300, 0 , 100, CFSTR("AvenirNext-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-UltraLightItalic", 300, 20, 100, CFSTR("AvenirNext-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-UltraLightItalic", 400, 0 , 100, CFSTR("AvenirNext-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-UltraLightItalic", 400, 20, 100, CFSTR("AvenirNext-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-UltraLightItalic", 500, 0 , 100, CFSTR("AvenirNext-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-UltraLightItalic", 500, 20, 100, CFSTR("AvenirNext-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-UltraLightItalic", 600, 0 , 100, CFSTR("AvenirNext-DemiBold")));
-    EXPECT_TRUE(compareFonts("AvenirNext-UltraLightItalic", 600, 20, 100, CFSTR("AvenirNext-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-UltraLightItalic", 700, 0 , 100, CFSTR("AvenirNext-Bold")));
-    EXPECT_TRUE(compareFonts("AvenirNext-UltraLightItalic", 700, 20, 100, CFSTR("AvenirNext-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-UltraLightItalic", 800, 0 , 100, CFSTR("AvenirNext-Heavy")));
-    EXPECT_TRUE(compareFonts("AvenirNext-UltraLightItalic", 800, 20, 100, CFSTR("AvenirNext-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNext-UltraLightItalic", 900, 0 , 100, CFSTR("AvenirNext-Heavy")));
-    EXPECT_TRUE(compareFonts("AvenirNext-UltraLightItalic", 900, 20, 100, CFSTR("AvenirNext-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Bold", 100, 0 , 100, CFSTR("AvenirNextCondensed-Bold")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Bold", 100, 20, 100, CFSTR("AvenirNextCondensed-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Bold", 200, 0 , 100, CFSTR("AvenirNextCondensed-Bold")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Bold", 200, 20, 100, CFSTR("AvenirNextCondensed-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Bold", 300, 0 , 100, CFSTR("AvenirNextCondensed-Bold")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Bold", 300, 20, 100, CFSTR("AvenirNextCondensed-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Bold", 400, 0 , 100, CFSTR("AvenirNextCondensed-Bold")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Bold", 400, 20, 100, CFSTR("AvenirNextCondensed-Italic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Bold", 500, 0 , 100, CFSTR("AvenirNextCondensed-Bold")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Bold", 500, 20, 100, CFSTR("AvenirNextCondensed-MediumItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Bold", 600, 0 , 100, CFSTR("AvenirNextCondensed-Bold")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Bold", 600, 20, 100, CFSTR("AvenirNextCondensed-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Bold", 700, 0 , 100, CFSTR("AvenirNextCondensed-Bold")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Bold", 700, 20, 100, CFSTR("AvenirNextCondensed-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Bold", 800, 0 , 100, CFSTR("AvenirNextCondensed-Bold")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Bold", 800, 20, 100, CFSTR("AvenirNextCondensed-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Bold", 900, 0 , 100, CFSTR("AvenirNextCondensed-Bold")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Bold", 900, 20, 100, CFSTR("AvenirNextCondensed-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-BoldItalic", 100, 0 , 100, CFSTR("AvenirNextCondensed-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-BoldItalic", 100, 20, 100, CFSTR("AvenirNextCondensed-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-BoldItalic", 200, 0 , 100, CFSTR("AvenirNextCondensed-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-BoldItalic", 200, 20, 100, CFSTR("AvenirNextCondensed-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-BoldItalic", 300, 0 , 100, CFSTR("AvenirNextCondensed-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-BoldItalic", 300, 20, 100, CFSTR("AvenirNextCondensed-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-BoldItalic", 400, 0 , 100, CFSTR("AvenirNextCondensed-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-BoldItalic", 400, 20, 100, CFSTR("AvenirNextCondensed-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-BoldItalic", 500, 0 , 100, CFSTR("AvenirNextCondensed-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-BoldItalic", 500, 20, 100, CFSTR("AvenirNextCondensed-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-BoldItalic", 600, 0 , 100, CFSTR("AvenirNextCondensed-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-BoldItalic", 600, 20, 100, CFSTR("AvenirNextCondensed-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-BoldItalic", 700, 0 , 100, CFSTR("AvenirNextCondensed-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-BoldItalic", 700, 20, 100, CFSTR("AvenirNextCondensed-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-BoldItalic", 800, 0 , 100, CFSTR("AvenirNextCondensed-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-BoldItalic", 800, 20, 100, CFSTR("AvenirNextCondensed-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-BoldItalic", 900, 0 , 100, CFSTR("AvenirNextCondensed-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-BoldItalic", 900, 20, 100, CFSTR("AvenirNextCondensed-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-DemiBold", 100, 0 , 100, CFSTR("AvenirNextCondensed-DemiBold")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-DemiBold", 100, 20, 100, CFSTR("AvenirNextCondensed-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-DemiBold", 200, 0 , 100, CFSTR("AvenirNextCondensed-DemiBold")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-DemiBold", 200, 20, 100, CFSTR("AvenirNextCondensed-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-DemiBold", 300, 0 , 100, CFSTR("AvenirNextCondensed-DemiBold")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-DemiBold", 300, 20, 100, CFSTR("AvenirNextCondensed-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-DemiBold", 400, 0 , 100, CFSTR("AvenirNextCondensed-DemiBold")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-DemiBold", 400, 20, 100, CFSTR("AvenirNextCondensed-Italic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-DemiBold", 500, 0 , 100, CFSTR("AvenirNextCondensed-DemiBold")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-DemiBold", 500, 20, 100, CFSTR("AvenirNextCondensed-MediumItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-DemiBold", 600, 0 , 100, CFSTR("AvenirNextCondensed-DemiBold")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-DemiBold", 600, 20, 100, CFSTR("AvenirNextCondensed-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-DemiBold", 700, 0 , 100, CFSTR("AvenirNextCondensed-DemiBold")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-DemiBold", 700, 20, 100, CFSTR("AvenirNextCondensed-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-DemiBold", 800, 0 , 100, CFSTR("AvenirNextCondensed-DemiBold")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-DemiBold", 800, 20, 100, CFSTR("AvenirNextCondensed-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-DemiBold", 900, 0 , 100, CFSTR("AvenirNextCondensed-DemiBold")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-DemiBold", 900, 20, 100, CFSTR("AvenirNextCondensed-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-DemiBoldItalic", 100, 0 , 100, CFSTR("AvenirNextCondensed-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-DemiBoldItalic", 100, 20, 100, CFSTR("AvenirNextCondensed-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-DemiBoldItalic", 200, 0 , 100, CFSTR("AvenirNextCondensed-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-DemiBoldItalic", 200, 20, 100, CFSTR("AvenirNextCondensed-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-DemiBoldItalic", 300, 0 , 100, CFSTR("AvenirNextCondensed-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-DemiBoldItalic", 300, 20, 100, CFSTR("AvenirNextCondensed-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-DemiBoldItalic", 400, 0 , 100, CFSTR("AvenirNextCondensed-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-DemiBoldItalic", 400, 20, 100, CFSTR("AvenirNextCondensed-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-DemiBoldItalic", 500, 0 , 100, CFSTR("AvenirNextCondensed-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-DemiBoldItalic", 500, 20, 100, CFSTR("AvenirNextCondensed-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-DemiBoldItalic", 600, 0 , 100, CFSTR("AvenirNextCondensed-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-DemiBoldItalic", 600, 20, 100, CFSTR("AvenirNextCondensed-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-DemiBoldItalic", 700, 0 , 100, CFSTR("AvenirNextCondensed-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-DemiBoldItalic", 700, 20, 100, CFSTR("AvenirNextCondensed-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-DemiBoldItalic", 800, 0 , 100, CFSTR("AvenirNextCondensed-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-DemiBoldItalic", 800, 20, 100, CFSTR("AvenirNextCondensed-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-DemiBoldItalic", 900, 0 , 100, CFSTR("AvenirNextCondensed-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-DemiBoldItalic", 900, 20, 100, CFSTR("AvenirNextCondensed-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Heavy", 100, 0 , 100, CFSTR("AvenirNextCondensed-Heavy")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Heavy", 100, 20, 100, CFSTR("AvenirNextCondensed-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Heavy", 200, 0 , 100, CFSTR("AvenirNextCondensed-Heavy")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Heavy", 200, 20, 100, CFSTR("AvenirNextCondensed-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Heavy", 300, 0 , 100, CFSTR("AvenirNextCondensed-Heavy")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Heavy", 300, 20, 100, CFSTR("AvenirNextCondensed-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Heavy", 400, 0 , 100, CFSTR("AvenirNextCondensed-Heavy")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Heavy", 400, 20, 100, CFSTR("AvenirNextCondensed-Italic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Heavy", 500, 0 , 100, CFSTR("AvenirNextCondensed-Heavy")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Heavy", 500, 20, 100, CFSTR("AvenirNextCondensed-MediumItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Heavy", 600, 0 , 100, CFSTR("AvenirNextCondensed-Heavy")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Heavy", 600, 20, 100, CFSTR("AvenirNextCondensed-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Heavy", 700, 0 , 100, CFSTR("AvenirNextCondensed-Heavy")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Heavy", 700, 20, 100, CFSTR("AvenirNextCondensed-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Heavy", 800, 0 , 100, CFSTR("AvenirNextCondensed-Heavy")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Heavy", 800, 20, 100, CFSTR("AvenirNextCondensed-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Heavy", 900, 0 , 100, CFSTR("AvenirNextCondensed-Heavy")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Heavy", 900, 20, 100, CFSTR("AvenirNextCondensed-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-HeavyItalic", 100, 0 , 100, CFSTR("AvenirNextCondensed-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-HeavyItalic", 100, 20, 100, CFSTR("AvenirNextCondensed-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-HeavyItalic", 200, 0 , 100, CFSTR("AvenirNextCondensed-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-HeavyItalic", 200, 20, 100, CFSTR("AvenirNextCondensed-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-HeavyItalic", 300, 0 , 100, CFSTR("AvenirNextCondensed-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-HeavyItalic", 300, 20, 100, CFSTR("AvenirNextCondensed-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-HeavyItalic", 400, 0 , 100, CFSTR("AvenirNextCondensed-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-HeavyItalic", 400, 20, 100, CFSTR("AvenirNextCondensed-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-HeavyItalic", 500, 0 , 100, CFSTR("AvenirNextCondensed-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-HeavyItalic", 500, 20, 100, CFSTR("AvenirNextCondensed-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-HeavyItalic", 600, 0 , 100, CFSTR("AvenirNextCondensed-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-HeavyItalic", 600, 20, 100, CFSTR("AvenirNextCondensed-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-HeavyItalic", 700, 0 , 100, CFSTR("AvenirNextCondensed-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-HeavyItalic", 700, 20, 100, CFSTR("AvenirNextCondensed-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-HeavyItalic", 800, 0 , 100, CFSTR("AvenirNextCondensed-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-HeavyItalic", 800, 20, 100, CFSTR("AvenirNextCondensed-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-HeavyItalic", 900, 0 , 100, CFSTR("AvenirNextCondensed-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-HeavyItalic", 900, 20, 100, CFSTR("AvenirNextCondensed-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Italic", 100, 0 , 100, CFSTR("AvenirNextCondensed-Italic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Italic", 100, 20, 100, CFSTR("AvenirNextCondensed-Italic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Italic", 200, 0 , 100, CFSTR("AvenirNextCondensed-Italic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Italic", 200, 20, 100, CFSTR("AvenirNextCondensed-Italic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Italic", 300, 0 , 100, CFSTR("AvenirNextCondensed-Italic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Italic", 300, 20, 100, CFSTR("AvenirNextCondensed-Italic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Italic", 400, 0 , 100, CFSTR("AvenirNextCondensed-Italic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Italic", 400, 20, 100, CFSTR("AvenirNextCondensed-Italic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Italic", 500, 0 , 100, CFSTR("AvenirNextCondensed-Italic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Italic", 500, 20, 100, CFSTR("AvenirNextCondensed-Italic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Italic", 600, 0 , 100, CFSTR("AvenirNextCondensed-DemiBold")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Italic", 600, 20, 100, CFSTR("AvenirNextCondensed-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Italic", 700, 0 , 100, CFSTR("AvenirNextCondensed-Bold")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Italic", 700, 20, 100, CFSTR("AvenirNextCondensed-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Italic", 800, 0 , 100, CFSTR("AvenirNextCondensed-Heavy")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Italic", 800, 20, 100, CFSTR("AvenirNextCondensed-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Italic", 900, 0 , 100, CFSTR("AvenirNextCondensed-Heavy")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Italic", 900, 20, 100, CFSTR("AvenirNextCondensed-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Medium", 100, 0 , 100, CFSTR("AvenirNextCondensed-Medium")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Medium", 100, 20, 100, CFSTR("AvenirNextCondensed-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Medium", 200, 0 , 100, CFSTR("AvenirNextCondensed-Medium")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Medium", 200, 20, 100, CFSTR("AvenirNextCondensed-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Medium", 300, 0 , 100, CFSTR("AvenirNextCondensed-Medium")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Medium", 300, 20, 100, CFSTR("AvenirNextCondensed-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Medium", 400, 0 , 100, CFSTR("AvenirNextCondensed-Medium")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Medium", 400, 20, 100, CFSTR("AvenirNextCondensed-Italic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Medium", 500, 0 , 100, CFSTR("AvenirNextCondensed-Medium")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Medium", 500, 20, 100, CFSTR("AvenirNextCondensed-MediumItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Medium", 600, 0 , 100, CFSTR("AvenirNextCondensed-DemiBold")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Medium", 600, 20, 100, CFSTR("AvenirNextCondensed-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Medium", 700, 0 , 100, CFSTR("AvenirNextCondensed-Bold")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Medium", 700, 20, 100, CFSTR("AvenirNextCondensed-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Medium", 800, 0 , 100, CFSTR("AvenirNextCondensed-Heavy")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Medium", 800, 20, 100, CFSTR("AvenirNextCondensed-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Medium", 900, 0 , 100, CFSTR("AvenirNextCondensed-Heavy")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Medium", 900, 20, 100, CFSTR("AvenirNextCondensed-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-MediumItalic", 100, 0 , 100, CFSTR("AvenirNextCondensed-MediumItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-MediumItalic", 100, 20, 100, CFSTR("AvenirNextCondensed-MediumItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-MediumItalic", 200, 0 , 100, CFSTR("AvenirNextCondensed-MediumItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-MediumItalic", 200, 20, 100, CFSTR("AvenirNextCondensed-MediumItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-MediumItalic", 300, 0 , 100, CFSTR("AvenirNextCondensed-MediumItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-MediumItalic", 300, 20, 100, CFSTR("AvenirNextCondensed-MediumItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-MediumItalic", 400, 0 , 100, CFSTR("AvenirNextCondensed-MediumItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-MediumItalic", 400, 20, 100, CFSTR("AvenirNextCondensed-MediumItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-MediumItalic", 500, 0 , 100, CFSTR("AvenirNextCondensed-MediumItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-MediumItalic", 500, 20, 100, CFSTR("AvenirNextCondensed-MediumItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-MediumItalic", 600, 0 , 100, CFSTR("AvenirNextCondensed-DemiBold")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-MediumItalic", 600, 20, 100, CFSTR("AvenirNextCondensed-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-MediumItalic", 700, 0 , 100, CFSTR("AvenirNextCondensed-Bold")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-MediumItalic", 700, 20, 100, CFSTR("AvenirNextCondensed-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-MediumItalic", 800, 0 , 100, CFSTR("AvenirNextCondensed-Heavy")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-MediumItalic", 800, 20, 100, CFSTR("AvenirNextCondensed-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-MediumItalic", 900, 0 , 100, CFSTR("AvenirNextCondensed-Heavy")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-MediumItalic", 900, 20, 100, CFSTR("AvenirNextCondensed-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Regular", 100, 0 , 100, CFSTR("AvenirNextCondensed-Regular")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Regular", 100, 20, 100, CFSTR("AvenirNextCondensed-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Regular", 200, 0 , 100, CFSTR("AvenirNextCondensed-Regular")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Regular", 200, 20, 100, CFSTR("AvenirNextCondensed-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Regular", 300, 0 , 100, CFSTR("AvenirNextCondensed-Regular")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Regular", 300, 20, 100, CFSTR("AvenirNextCondensed-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Regular", 400, 0 , 100, CFSTR("AvenirNextCondensed-Regular")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Regular", 400, 20, 100, CFSTR("AvenirNextCondensed-Italic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Regular", 500, 0 , 100, CFSTR("AvenirNextCondensed-Regular")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Regular", 500, 20, 100, CFSTR("AvenirNextCondensed-MediumItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Regular", 600, 0 , 100, CFSTR("AvenirNextCondensed-DemiBold")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Regular", 600, 20, 100, CFSTR("AvenirNextCondensed-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Regular", 700, 0 , 100, CFSTR("AvenirNextCondensed-Bold")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Regular", 700, 20, 100, CFSTR("AvenirNextCondensed-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Regular", 800, 0 , 100, CFSTR("AvenirNextCondensed-Heavy")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Regular", 800, 20, 100, CFSTR("AvenirNextCondensed-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Regular", 900, 0 , 100, CFSTR("AvenirNextCondensed-Heavy")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-Regular", 900, 20, 100, CFSTR("AvenirNextCondensed-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-UltraLight", 100, 0 , 100, CFSTR("AvenirNextCondensed-UltraLight")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-UltraLight", 100, 20, 100, CFSTR("AvenirNextCondensed-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-UltraLight", 200, 0 , 100, CFSTR("AvenirNextCondensed-UltraLight")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-UltraLight", 200, 20, 100, CFSTR("AvenirNextCondensed-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-UltraLight", 300, 0 , 100, CFSTR("AvenirNextCondensed-UltraLight")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-UltraLight", 300, 20, 100, CFSTR("AvenirNextCondensed-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-UltraLight", 400, 0 , 100, CFSTR("AvenirNextCondensed-UltraLight")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-UltraLight", 400, 20, 100, CFSTR("AvenirNextCondensed-Italic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-UltraLight", 500, 0 , 100, CFSTR("AvenirNextCondensed-UltraLight")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-UltraLight", 500, 20, 100, CFSTR("AvenirNextCondensed-MediumItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-UltraLight", 600, 0 , 100, CFSTR("AvenirNextCondensed-DemiBold")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-UltraLight", 600, 20, 100, CFSTR("AvenirNextCondensed-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-UltraLight", 700, 0 , 100, CFSTR("AvenirNextCondensed-Bold")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-UltraLight", 700, 20, 100, CFSTR("AvenirNextCondensed-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-UltraLight", 800, 0 , 100, CFSTR("AvenirNextCondensed-Heavy")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-UltraLight", 800, 20, 100, CFSTR("AvenirNextCondensed-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-UltraLight", 900, 0 , 100, CFSTR("AvenirNextCondensed-Heavy")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-UltraLight", 900, 20, 100, CFSTR("AvenirNextCondensed-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-UltraLightItalic", 100, 0 , 100, CFSTR("AvenirNextCondensed-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-UltraLightItalic", 100, 20, 100, CFSTR("AvenirNextCondensed-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-UltraLightItalic", 200, 0 , 100, CFSTR("AvenirNextCondensed-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-UltraLightItalic", 200, 20, 100, CFSTR("AvenirNextCondensed-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-UltraLightItalic", 300, 0 , 100, CFSTR("AvenirNextCondensed-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-UltraLightItalic", 300, 20, 100, CFSTR("AvenirNextCondensed-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-UltraLightItalic", 400, 0 , 100, CFSTR("AvenirNextCondensed-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-UltraLightItalic", 400, 20, 100, CFSTR("AvenirNextCondensed-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-UltraLightItalic", 500, 0 , 100, CFSTR("AvenirNextCondensed-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-UltraLightItalic", 500, 20, 100, CFSTR("AvenirNextCondensed-UltraLightItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-UltraLightItalic", 600, 0 , 100, CFSTR("AvenirNextCondensed-DemiBold")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-UltraLightItalic", 600, 20, 100, CFSTR("AvenirNextCondensed-DemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-UltraLightItalic", 700, 0 , 100, CFSTR("AvenirNextCondensed-Bold")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-UltraLightItalic", 700, 20, 100, CFSTR("AvenirNextCondensed-BoldItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-UltraLightItalic", 800, 0 , 100, CFSTR("AvenirNextCondensed-Heavy")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-UltraLightItalic", 800, 20, 100, CFSTR("AvenirNextCondensed-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-UltraLightItalic", 900, 0 , 100, CFSTR("AvenirNextCondensed-Heavy")));
-    EXPECT_TRUE(compareFonts("AvenirNextCondensed-UltraLightItalic", 900, 20, 100, CFSTR("AvenirNextCondensed-HeavyItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville", 100, 0 , 100, CFSTR("Baskerville")));
-    EXPECT_TRUE(compareFonts("Baskerville", 100, 20, 100, CFSTR("Baskerville-Italic")));
-    EXPECT_TRUE(compareFonts("Baskerville", 200, 0 , 100, CFSTR("Baskerville")));
-    EXPECT_TRUE(compareFonts("Baskerville", 200, 20, 100, CFSTR("Baskerville-Italic")));
-    EXPECT_TRUE(compareFonts("Baskerville", 300, 0 , 100, CFSTR("Baskerville")));
-    EXPECT_TRUE(compareFonts("Baskerville", 300, 20, 100, CFSTR("Baskerville-Italic")));
-    EXPECT_TRUE(compareFonts("Baskerville", 400, 0 , 100, CFSTR("Baskerville")));
-    EXPECT_TRUE(compareFonts("Baskerville", 400, 20, 100, CFSTR("Baskerville-Italic")));
-    EXPECT_TRUE(compareFonts("Baskerville", 500, 0 , 100, CFSTR("Baskerville")));
-    EXPECT_TRUE(compareFonts("Baskerville", 500, 20, 100, CFSTR("Baskerville-Italic")));
-    EXPECT_TRUE(compareFonts("Baskerville", 600, 0 , 100, CFSTR("Baskerville-SemiBold")));
-    EXPECT_TRUE(compareFonts("Baskerville", 600, 20, 100, CFSTR("Baskerville-SemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville", 700, 0 , 100, CFSTR("Baskerville-Bold")));
-    EXPECT_TRUE(compareFonts("Baskerville", 700, 20, 100, CFSTR("Baskerville-BoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville", 800, 0 , 100, CFSTR("Baskerville-Bold")));
-    EXPECT_TRUE(compareFonts("Baskerville", 800, 20, 100, CFSTR("Baskerville-BoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville", 900, 0 , 100, CFSTR("Baskerville-Bold")));
-    EXPECT_TRUE(compareFonts("Baskerville", 900, 20, 100, CFSTR("Baskerville-BoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville-Bold", 100, 0 , 100, CFSTR("Baskerville-Bold")));
-    EXPECT_TRUE(compareFonts("Baskerville-Bold", 100, 20, 100, CFSTR("Baskerville-Italic")));
-    EXPECT_TRUE(compareFonts("Baskerville-Bold", 200, 0 , 100, CFSTR("Baskerville-Bold")));
-    EXPECT_TRUE(compareFonts("Baskerville-Bold", 200, 20, 100, CFSTR("Baskerville-Italic")));
-    EXPECT_TRUE(compareFonts("Baskerville-Bold", 300, 0 , 100, CFSTR("Baskerville-Bold")));
-    EXPECT_TRUE(compareFonts("Baskerville-Bold", 300, 20, 100, CFSTR("Baskerville-Italic")));
-    EXPECT_TRUE(compareFonts("Baskerville-Bold", 400, 0 , 100, CFSTR("Baskerville-Bold")));
-    EXPECT_TRUE(compareFonts("Baskerville-Bold", 400, 20, 100, CFSTR("Baskerville-Italic")));
-    EXPECT_TRUE(compareFonts("Baskerville-Bold", 500, 0 , 100, CFSTR("Baskerville-Bold")));
-    EXPECT_TRUE(compareFonts("Baskerville-Bold", 500, 20, 100, CFSTR("Baskerville-Italic")));
-    EXPECT_TRUE(compareFonts("Baskerville-Bold", 600, 0 , 100, CFSTR("Baskerville-Bold")));
-    EXPECT_TRUE(compareFonts("Baskerville-Bold", 600, 20, 100, CFSTR("Baskerville-SemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville-Bold", 700, 0 , 100, CFSTR("Baskerville-Bold")));
-    EXPECT_TRUE(compareFonts("Baskerville-Bold", 700, 20, 100, CFSTR("Baskerville-BoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville-Bold", 800, 0 , 100, CFSTR("Baskerville-Bold")));
-    EXPECT_TRUE(compareFonts("Baskerville-Bold", 800, 20, 100, CFSTR("Baskerville-BoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville-Bold", 900, 0 , 100, CFSTR("Baskerville-Bold")));
-    EXPECT_TRUE(compareFonts("Baskerville-Bold", 900, 20, 100, CFSTR("Baskerville-BoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville-BoldItalic", 100, 0 , 100, CFSTR("Baskerville-BoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville-BoldItalic", 100, 20, 100, CFSTR("Baskerville-BoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville-BoldItalic", 200, 0 , 100, CFSTR("Baskerville-BoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville-BoldItalic", 200, 20, 100, CFSTR("Baskerville-BoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville-BoldItalic", 300, 0 , 100, CFSTR("Baskerville-BoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville-BoldItalic", 300, 20, 100, CFSTR("Baskerville-BoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville-BoldItalic", 400, 0 , 100, CFSTR("Baskerville-BoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville-BoldItalic", 400, 20, 100, CFSTR("Baskerville-BoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville-BoldItalic", 500, 0 , 100, CFSTR("Baskerville-BoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville-BoldItalic", 500, 20, 100, CFSTR("Baskerville-BoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville-BoldItalic", 600, 0 , 100, CFSTR("Baskerville-BoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville-BoldItalic", 600, 20, 100, CFSTR("Baskerville-BoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville-BoldItalic", 700, 0 , 100, CFSTR("Baskerville-BoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville-BoldItalic", 700, 20, 100, CFSTR("Baskerville-BoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville-BoldItalic", 800, 0 , 100, CFSTR("Baskerville-BoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville-BoldItalic", 800, 20, 100, CFSTR("Baskerville-BoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville-BoldItalic", 900, 0 , 100, CFSTR("Baskerville-BoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville-BoldItalic", 900, 20, 100, CFSTR("Baskerville-BoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville-Italic", 100, 0 , 100, CFSTR("Baskerville-Italic")));
-    EXPECT_TRUE(compareFonts("Baskerville-Italic", 100, 20, 100, CFSTR("Baskerville-Italic")));
-    EXPECT_TRUE(compareFonts("Baskerville-Italic", 200, 0 , 100, CFSTR("Baskerville-Italic")));
-    EXPECT_TRUE(compareFonts("Baskerville-Italic", 200, 20, 100, CFSTR("Baskerville-Italic")));
-    EXPECT_TRUE(compareFonts("Baskerville-Italic", 300, 0 , 100, CFSTR("Baskerville-Italic")));
-    EXPECT_TRUE(compareFonts("Baskerville-Italic", 300, 20, 100, CFSTR("Baskerville-Italic")));
-    EXPECT_TRUE(compareFonts("Baskerville-Italic", 400, 0 , 100, CFSTR("Baskerville-Italic")));
-    EXPECT_TRUE(compareFonts("Baskerville-Italic", 400, 20, 100, CFSTR("Baskerville-Italic")));
-    EXPECT_TRUE(compareFonts("Baskerville-Italic", 500, 0 , 100, CFSTR("Baskerville-Italic")));
-    EXPECT_TRUE(compareFonts("Baskerville-Italic", 500, 20, 100, CFSTR("Baskerville-Italic")));
-    EXPECT_TRUE(compareFonts("Baskerville-Italic", 600, 0 , 100, CFSTR("Baskerville-SemiBold")));
-    EXPECT_TRUE(compareFonts("Baskerville-Italic", 600, 20, 100, CFSTR("Baskerville-SemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville-Italic", 700, 0 , 100, CFSTR("Baskerville-Bold")));
-    EXPECT_TRUE(compareFonts("Baskerville-Italic", 700, 20, 100, CFSTR("Baskerville-BoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville-Italic", 800, 0 , 100, CFSTR("Baskerville-Bold")));
-    EXPECT_TRUE(compareFonts("Baskerville-Italic", 800, 20, 100, CFSTR("Baskerville-BoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville-Italic", 900, 0 , 100, CFSTR("Baskerville-Bold")));
-    EXPECT_TRUE(compareFonts("Baskerville-Italic", 900, 20, 100, CFSTR("Baskerville-BoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville-SemiBold", 100, 0 , 100, CFSTR("Baskerville-SemiBold")));
-    EXPECT_TRUE(compareFonts("Baskerville-SemiBold", 100, 20, 100, CFSTR("Baskerville-Italic")));
-    EXPECT_TRUE(compareFonts("Baskerville-SemiBold", 200, 0 , 100, CFSTR("Baskerville-SemiBold")));
-    EXPECT_TRUE(compareFonts("Baskerville-SemiBold", 200, 20, 100, CFSTR("Baskerville-Italic")));
-    EXPECT_TRUE(compareFonts("Baskerville-SemiBold", 300, 0 , 100, CFSTR("Baskerville-SemiBold")));
-    EXPECT_TRUE(compareFonts("Baskerville-SemiBold", 300, 20, 100, CFSTR("Baskerville-Italic")));
-    EXPECT_TRUE(compareFonts("Baskerville-SemiBold", 400, 0 , 100, CFSTR("Baskerville-SemiBold")));
-    EXPECT_TRUE(compareFonts("Baskerville-SemiBold", 400, 20, 100, CFSTR("Baskerville-Italic")));
-    EXPECT_TRUE(compareFonts("Baskerville-SemiBold", 500, 0 , 100, CFSTR("Baskerville-SemiBold")));
-    EXPECT_TRUE(compareFonts("Baskerville-SemiBold", 500, 20, 100, CFSTR("Baskerville-Italic")));
-    EXPECT_TRUE(compareFonts("Baskerville-SemiBold", 600, 0 , 100, CFSTR("Baskerville-SemiBold")));
-    EXPECT_TRUE(compareFonts("Baskerville-SemiBold", 600, 20, 100, CFSTR("Baskerville-SemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville-SemiBold", 700, 0 , 100, CFSTR("Baskerville-SemiBold")));
-    EXPECT_TRUE(compareFonts("Baskerville-SemiBold", 700, 20, 100, CFSTR("Baskerville-BoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville-SemiBold", 800, 0 , 100, CFSTR("Baskerville-SemiBold")));
-    EXPECT_TRUE(compareFonts("Baskerville-SemiBold", 800, 20, 100, CFSTR("Baskerville-BoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville-SemiBold", 900, 0 , 100, CFSTR("Baskerville-SemiBold")));
-    EXPECT_TRUE(compareFonts("Baskerville-SemiBold", 900, 20, 100, CFSTR("Baskerville-BoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville-SemiBoldItalic", 100, 0 , 100, CFSTR("Baskerville-SemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville-SemiBoldItalic", 100, 20, 100, CFSTR("Baskerville-SemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville-SemiBoldItalic", 200, 0 , 100, CFSTR("Baskerville-SemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville-SemiBoldItalic", 200, 20, 100, CFSTR("Baskerville-SemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville-SemiBoldItalic", 300, 0 , 100, CFSTR("Baskerville-SemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville-SemiBoldItalic", 300, 20, 100, CFSTR("Baskerville-SemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville-SemiBoldItalic", 400, 0 , 100, CFSTR("Baskerville-SemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville-SemiBoldItalic", 400, 20, 100, CFSTR("Baskerville-SemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville-SemiBoldItalic", 500, 0 , 100, CFSTR("Baskerville-SemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville-SemiBoldItalic", 500, 20, 100, CFSTR("Baskerville-SemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville-SemiBoldItalic", 600, 0 , 100, CFSTR("Baskerville-SemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville-SemiBoldItalic", 600, 20, 100, CFSTR("Baskerville-SemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville-SemiBoldItalic", 700, 0 , 100, CFSTR("Baskerville-SemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville-SemiBoldItalic", 700, 20, 100, CFSTR("Baskerville-SemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville-SemiBoldItalic", 800, 0 , 100, CFSTR("Baskerville-SemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville-SemiBoldItalic", 800, 20, 100, CFSTR("Baskerville-SemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville-SemiBoldItalic", 900, 0 , 100, CFSTR("Baskerville-SemiBoldItalic")));
-    EXPECT_TRUE(compareFonts("Baskerville-SemiBoldItalic", 900, 20, 100, CFSTR("Baskerville-SemiBoldItalic")));
-}
-
-#endif
-
-}
index ddf2c2d..17ef695 100644 (file)
@@ -138,7 +138,7 @@ TEST(AVFoundationSoftLink, Constants)
     if (PAL::canLoad_AVFoundation_AVSampleRateKey())
         EXPECT_TRUE([AVSampleRateKey isEqualToString:@"AVSampleRateKey"]);
 
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300) || (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000) || (PLATFORM(WATCHOS) && __WATCH_OS_VERSION_MIN_REQUIRED >= 40000) || (PLATFORM(APPLETV) && __TV_OS_VERSION_MIN_REQUIRED >= 110000)
+#if PLATFORM(MAC) || (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000) || (PLATFORM(WATCHOS) && __WATCH_OS_VERSION_MIN_REQUIRED >= 40000) || (PLATFORM(APPLETV) && __TV_OS_VERSION_MIN_REQUIRED >= 110000)
     EXPECT_TRUE(PAL::canLoad_AVFoundation_AVURLAssetOutOfBandMIMETypeKey());
     EXPECT_TRUE([AVURLAssetOutOfBandMIMETypeKey isEqualToString:@"AVURLAssetOutOfBandMIMETypeKey"]);
 #endif
index 345c85f..1e8adf3 100644 (file)
@@ -25,7 +25,7 @@
 
 #include "config.h"
 
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300) || (PLATFORM(IOS_FAMILY) && !PLATFORM(IOS_FAMILY_SIMULATOR))
+#if PLATFORM(MAC) || (PLATFORM(IOS_FAMILY) && !PLATFORM(IOS_FAMILY_SIMULATOR))
 
 #import "PlatformUtilities.h"
 #import "Test.h"
index 216ee93..4410929 100644 (file)
@@ -25,7 +25,7 @@
 
 #include "config.h"
 
-#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
+#if PLATFORM(MAC)
 
 #import "PlatformUtilities.h"
 #import "PlatformWebView.h"
index 8ac41ed..2422c13 100644 (file)
@@ -53,7 +53,7 @@ SOFT_LINK_FRAMEWORK(MapKit)
 SOFT_LINK_CLASS(MapKit, MKMapItem)
 SOFT_LINK_CLASS(MapKit, MKPlacemark)
 
-#define USES_MODERN_ATTRIBUTED_STRING_CONVERSION ((PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300))
+#define USES_MODERN_ATTRIBUTED_STRING_CONVERSION ((PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000) || PLATFORM(MAC))
 
 @interface AttachmentUpdateObserver : NSObject <WKUIDelegatePrivate>
 @property (nonatomic, readonly) NSArray *inserted;
index 3e71423..947cde1 100644 (file)
@@ -159,7 +159,7 @@ static void runWebsiteDataStoreCustomPaths(ShouldEnableProcessPrewarming shouldE
     EXPECT_TRUE([[NSFileManager defaultManager] fileExistsAtPath:sqlPath.path]);
     EXPECT_TRUE([[NSFileManager defaultManager] fileExistsAtPath:localStoragePath.path]);
 
-#if PLATFORM(IOS_FAMILY) || (__MAC_OS_X_VERSION_MIN_REQUIRED < 101300)
+#if PLATFORM(IOS_FAMILY)
     int retryCount = 30;
     while (retryCount--) {
         if ([[NSFileManager defaultManager] fileExistsAtPath:cookieStorageFile.path])
index 75d8e79..55c3a87 100644 (file)
 
 #import <objc/runtime.h>
 
-#if __MAC_OS_X_VERSION_MAX_ALLOWED < 101300
-static const NSCellStateValue NSControlStateValueOff = NSOffState;
-static const NSCellStateValue NSControlStateValueOn = NSOnState;
-#endif
-
 @interface NSBox (NSFontEffectsBox)
 // Invoked after a font effect (e.g. single strike-through) is chosen.
 - (void)_openEffectsButton:(id)sender;