Diff
Modified: branches/safari-601-branch/Source/WebCore/ChangeLog (197194 => 197195)
--- branches/safari-601-branch/Source/WebCore/ChangeLog 2016-02-26 20:58:32 UTC (rev 197194)
+++ branches/safari-601-branch/Source/WebCore/ChangeLog 2016-02-26 21:32:22 UTC (rev 197195)
@@ -1,5 +1,9 @@
2016-02-26 Babak Shafiei <[email protected]>
+ Roll out r196637. rdar://problem/24494562
+
+2016-02-26 Babak Shafiei <[email protected]>
+
Merge patch for rdar://problem/24826901.
2016-02-19 Matthew Hanson <[email protected]>
Modified: branches/safari-601-branch/Source/WebCore/platform/graphics/FontCache.h (197194 => 197195)
--- branches/safari-601-branch/Source/WebCore/platform/graphics/FontCache.h 2016-02-26 20:58:32 UTC (rev 197194)
+++ branches/safari-601-branch/Source/WebCore/platform/graphics/FontCache.h 2016-02-26 21:32:22 UTC (rev 197195)
@@ -113,8 +113,7 @@
static std::array<unsigned, 2> makeFlagsKey(const FontDescription& description)
{
static_assert(USCRIPT_CODE_LIMIT < 0x1000, "Script code must fit in an unsigned along with the other flags");
- unsigned first = static_cast<unsigned>(description.script()) << 10
- | static_cast<unsigned>(description.textRenderingMode()) << 8
+ unsigned first = static_cast<unsigned>(description.script()) << 8
| static_cast<unsigned>(description.fontSynthesis()) << 6
| static_cast<unsigned>(description.widthVariant()) << 4
| static_cast<unsigned>(description.nonCJKGlyphOrientation()) << 3
@@ -244,7 +243,7 @@
};
#if PLATFORM(COCOA)
-RetainPtr<CTFontRef> applyFontFeatureSettings(CTFontRef, TextRenderingMode, const FontFeatureSettings* fontFaceFeatures, const FontVariantSettings* fontFaceVariantSettings, const FontFeatureSettings& features, const FontVariantSettings&);
+RetainPtr<CTFontRef> applyFontFeatureSettings(CTFontRef, const FontFeatureSettings* fontFaceFeatures, const FontVariantSettings* fontFaceVariantSettings, const FontFeatureSettings& features, const FontVariantSettings&);
#endif
#if !PLATFORM(MAC)
Modified: branches/safari-601-branch/Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp (197194 => 197195)
--- branches/safari-601-branch/Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp 2016-02-26 20:58:32 UTC (rev 197194)
+++ branches/safari-601-branch/Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp 2016-02-26 21:32:22 UTC (rev 197195)
@@ -361,9 +361,9 @@
return result;
}
-RetainPtr<CTFontRef> applyFontFeatureSettings(CTFontRef originalFont, TextRenderingMode textRenderingMode, const FontFeatureSettings* fontFaceFeatures, const FontVariantSettings* fontFaceVariantSettings, const FontFeatureSettings& features, const FontVariantSettings& variantSettings)
+RetainPtr<CTFontRef> applyFontFeatureSettings(CTFontRef originalFont, const FontFeatureSettings* fontFaceFeatures, const FontVariantSettings* fontFaceVariantSettings, const FontFeatureSettings& features, const FontVariantSettings& variantSettings)
{
- if (!originalFont || (!features.size() && variantSettings.isAllNormal() && textRenderingMode == AutoTextRendering
+ if (!originalFont || (!features.size() && variantSettings.isAllNormal()
&& (!fontFaceFeatures || !fontFaceFeatures->size()) && (!fontFaceVariantSettings || fontFaceVariantSettings->isAllNormal())))
return originalFont;
@@ -386,14 +386,7 @@
for (auto& newFeature : computeFeatureSettingsFromVariants(variantSettings))
featuresToBeApplied.set(newFeature.key, newFeature.value);
- // Step 5: Other properties (text-rendering)
- if (textRenderingMode == OptimizeSpeed) {
- featuresToBeApplied.set(fontFeatureTag("liga"), 0);
- featuresToBeApplied.set(fontFeatureTag("clig"), 0);
- featuresToBeApplied.set(fontFeatureTag("dlig"), 0);
- featuresToBeApplied.set(fontFeatureTag("hlig"), 0);
- featuresToBeApplied.set(fontFeatureTag("calt"), 0);
- }
+ // Step 5: Other properties
// Step 6: Font-feature-settings
for (auto& newFeature : features)
Modified: branches/safari-601-branch/Source/WebCore/platform/graphics/ios/FontCacheIOS.mm (197194 => 197195)
--- branches/safari-601-branch/Source/WebCore/platform/graphics/ios/FontCacheIOS.mm 2016-02-26 20:58:32 UTC (rev 197194)
+++ branches/safari-601-branch/Source/WebCore/platform/graphics/ios/FontCacheIOS.mm 2016-02-26 21:32:22 UTC (rev 197195)
@@ -85,7 +85,7 @@
if (!substituteFont)
return nullptr;
- substituteFont = applyFontFeatureSettings(substituteFont.get(), description.textRenderingMode(), nullptr, nullptr, description.featureSettings(), description.variantSettings());
+ substituteFont = applyFontFeatureSettings(substituteFont.get(), nullptr, nullptr, description.featureSettings(), description.variantSettings());
CTFontSymbolicTraits originalTraits = CTFontGetSymbolicTraits(ctFont);
CTFontSymbolicTraits actualTraits = 0;
@@ -700,7 +700,7 @@
if (!ctFont)
return nullptr;
- ctFont = applyFontFeatureSettings(ctFont.get(), fontDescription.textRenderingMode(), nullptr, nullptr, fontDescription.featureSettings(), fontDescription.variantSettings());
+ ctFont = applyFontFeatureSettings(ctFont.get(), nullptr, nullptr, fontDescription.featureSettings(), fontDescription.variantSettings());
CTFontSymbolicTraits actualTraits = 0;
if (isFontWeightBold(fontDescription.weight()) || fontDescription.italic())
Modified: branches/safari-601-branch/Source/WebCore/platform/graphics/mac/FontCacheMac.mm (197194 => 197195)
--- branches/safari-601-branch/Source/WebCore/platform/graphics/mac/FontCacheMac.mm 2016-02-26 20:58:32 UTC (rev 197194)
+++ branches/safari-601-branch/Source/WebCore/platform/graphics/mac/FontCacheMac.mm 2016-02-26 21:32:22 UTC (rev 197195)
@@ -263,10 +263,10 @@
// Family name is somewhat of a misnomer here. We first attempt to find an exact match
// comparing the desiredFamily to the PostScript name of the installed fonts. If that fails
// we then do a search based on the family names of the installed fonts.
-static NSFont *fontWithFamily(const AtomicString& family, NSFontTraitMask desiredTraits, FontWeight weight, const FontFeatureSettings& featureSettings, const FontVariantSettings& variantSettings, TextRenderingMode textRenderingMode, float size)
+static NSFont *fontWithFamily(const AtomicString& family, NSFontTraitMask desiredTraits, FontWeight weight, const FontFeatureSettings& featureSettings, const FontVariantSettings& variantSettings, float size)
{
if (const auto& specialCase = fontWithFamilySpecialCase(family, weight, desiredTraits, size))
- return (NSFont*)(applyFontFeatureSettings((CTFontRef)specialCase.value(), textRenderingMode, nullptr, nullptr, featureSettings, variantSettings).autorelease());
+ return (NSFont*)(applyFontFeatureSettings((CTFontRef)specialCase.value(), nullptr, nullptr, featureSettings, variantSettings).autorelease());
NSFontManager *fontManager = [NSFontManager sharedFontManager];
NSString *availableFamily;
@@ -286,7 +286,7 @@
NSString *desiredFamily = family;
RetainPtr<CTFontRef> foundFont = adoptCF(CTFontCreateForCSS((CFStringRef)desiredFamily, toCoreTextFontWeight(weight), requestedTraits, size));
- foundFont = applyFontFeatureSettings(foundFont.get(), textRenderingMode, nullptr, nullptr, featureSettings, variantSettings);
+ foundFont = applyFontFeatureSettings(foundFont.get(), nullptr, nullptr, featureSettings, variantSettings);
if (!foundFont)
return nil;
font = CFBridgingRelease(CFRetain(foundFont.get()));
@@ -379,7 +379,7 @@
return nil;
font = [NSFont fontWithName:chosenFullName size:size];
- auto foundFont = applyFontFeatureSettings((CTFontRef)font, textRenderingMode, nullptr, nullptr, featureSettings, variantSettings);
+ auto foundFont = applyFontFeatureSettings((CTFontRef)font, nullptr, nullptr, featureSettings, variantSettings);
font = CFBridgingRelease(CFRetain(foundFont.get()));
#endif
@@ -514,7 +514,7 @@
const FontPlatformData& platformData = originalFontData->platformData();
NSFont *nsFont = platformData.nsFont();
RetainPtr<CTFontRef> result = lookupCTFont(platformData.font(), platformData.size(), characters, length);
- result = applyFontFeatureSettings(result.get(), description.textRenderingMode(), nullptr, nullptr, description.featureSettings(), description.variantSettings());
+ result = applyFontFeatureSettings(result.get(), nullptr, nullptr, description.featureSettings(), description.variantSettings());
if (!result)
return nullptr;
@@ -649,7 +649,7 @@
NSFontTraitMask traits = fontDescription.italic() ? NSFontItalicTrait : 0;
float size = fontDescription.computedPixelSize();
- NSFont *nsFont = fontWithFamily(family, traits, fontDescription.weight(), fontDescription.featureSettings(), fontDescription.variantSettings(), fontDescription.textRenderingMode(), size);
+ NSFont *nsFont = fontWithFamily(family, traits, fontDescription.weight(), fontDescription.featureSettings(), fontDescription.variantSettings(), size);
if (!nsFont) {
if (!shouldAutoActivateFontIfNeeded(family))
return nullptr;
@@ -658,7 +658,7 @@
// Ignore the result because we want to use our own algorithm to actually find the font.
[NSFont fontWithName:family size:size];
- nsFont = fontWithFamily(family, traits, fontDescription.weight(), fontDescription.featureSettings(), fontDescription.variantSettings(), fontDescription.textRenderingMode(), size);
+ nsFont = fontWithFamily(family, traits, fontDescription.weight(), fontDescription.featureSettings(), fontDescription.variantSettings(), size);
if (!nsFont)
return nullptr;
}
Modified: branches/safari-601-branch/Source/WebCore/platform/graphics/mac/FontCustomPlatformData.cpp (197194 => 197195)
--- branches/safari-601-branch/Source/WebCore/platform/graphics/mac/FontCustomPlatformData.cpp 2016-02-26 20:58:32 UTC (rev 197194)
+++ branches/safari-601-branch/Source/WebCore/platform/graphics/mac/FontCustomPlatformData.cpp 2016-02-26 21:32:22 UTC (rev 197195)
@@ -41,7 +41,7 @@
FontWidthVariant widthVariant = fontDescription.widthVariant();
#if CORETEXT_WEB_FONTS
RetainPtr<CTFontRef> font = adoptCF(CTFontCreateWithFontDescriptor(m_fontDescriptor.get(), size, nullptr));
- font = applyFontFeatureSettings(font.get(), fontDescription.textRenderingMode(), &fontFaceFeatures, &fontFaceVariantSettings, fontDescription.featureSettings(), fontDescription.variantSettings());
+ font = applyFontFeatureSettings(font.get(), &fontFaceFeatures, &fontFaceVariantSettings, fontDescription.featureSettings(), fontDescription.variantSettings());
return FontPlatformData(font.get(), size, bold, italic, orientation, widthVariant);
#else
UNUSED_PARAM(fontFaceFeatures);
Modified: branches/safari-601-branch/Source/WebCore/rendering/RenderThemeIOS.mm (197194 => 197195)
--- branches/safari-601-branch/Source/WebCore/rendering/RenderThemeIOS.mm 2016-02-26 20:58:32 UTC (rev 197194)
+++ branches/safari-601-branch/Source/WebCore/rendering/RenderThemeIOS.mm 2016-02-26 21:32:22 UTC (rev 197195)
@@ -1271,7 +1271,7 @@
ASSERT(fontDescriptor);
RetainPtr<CTFontRef> font = adoptCF(CTFontCreateWithFontDescriptor(fontDescriptor.get(), 0, nullptr));
- font = applyFontFeatureSettings(font.get(), fontDescription.textRenderingMode(), nullptr, nullptr, fontDescription.featureSettings(), fontDescription.variantSettings());
+ font = applyFontFeatureSettings(font.get(), nullptr, nullptr, fontDescription.featureSettings(), fontDescription.variantSettings());
fontDescription.setIsAbsoluteSize(true);
fontDescription.setOneFamily(textStyle);
fontDescription.setSpecifiedSize(CTFontGetSize(font.get()));