From 36057fec8aab49a4b2173d42cb5d64c3d5dcaffe Mon Sep 17 00:00:00 2001 From: John Daggett Date: Thu, 26 Apr 2012 15:27:08 +0900 Subject: [PATCH] Bug 718539. Trim out old featureSettings string code. r=jkew --- .../canvas/src/nsCanvasRenderingContext2D.cpp | 1 - .../src/nsCanvasRenderingContext2DAzure.cpp | 1 - gfx/src/nsFont.cpp | 11 ---- gfx/src/nsFont.h | 5 -- gfx/src/nsFontMetrics.cpp | 1 - gfx/thebes/gfxFont.cpp | 54 ------------------- gfx/thebes/gfxFont.h | 1 - layout/svg/base/src/nsSVGGlyphFrame.cpp | 1 - 8 files changed, 75 deletions(-) diff --git a/content/canvas/src/nsCanvasRenderingContext2D.cpp b/content/canvas/src/nsCanvasRenderingContext2D.cpp index 64be9e6c350..b1e26e24f1f 100644 --- a/content/canvas/src/nsCanvasRenderingContext2D.cpp +++ b/content/canvas/src/nsCanvasRenderingContext2D.cpp @@ -2584,7 +2584,6 @@ nsCanvasRenderingContext2D::SetFont(const nsAString& font) fontStyle->mFont.sizeAdjust, fontStyle->mFont.systemFont, printerFont, - fontStyle->mFont.featureSettings, fontStyle->mFont.languageOverride); fontStyle->mFont.AddFontFeaturesToStyle(&style); diff --git a/content/canvas/src/nsCanvasRenderingContext2DAzure.cpp b/content/canvas/src/nsCanvasRenderingContext2DAzure.cpp index bf68c6ccb65..f9c7738a6b4 100644 --- a/content/canvas/src/nsCanvasRenderingContext2DAzure.cpp +++ b/content/canvas/src/nsCanvasRenderingContext2DAzure.cpp @@ -2797,7 +2797,6 @@ nsCanvasRenderingContext2DAzure::SetFont(const nsAString& font) fontStyle->mFont.sizeAdjust, fontStyle->mFont.systemFont, printerFont, - fontStyle->mFont.featureSettings, fontStyle->mFont.languageOverride); fontStyle->mFont.AddFontFeaturesToStyle(&style); diff --git a/gfx/src/nsFont.cpp b/gfx/src/nsFont.cpp index c915380c720..5ef66f4d997 100644 --- a/gfx/src/nsFont.cpp +++ b/gfx/src/nsFont.cpp @@ -44,7 +44,6 @@ nsFont::nsFont(const char* aName, PRUint8 aStyle, PRUint8 aVariant, PRUint16 aWeight, PRInt16 aStretch, PRUint8 aDecoration, nscoord aSize, float aSizeAdjust, - const nsString* aFeatureSettings, const nsString* aLanguageOverride) { NS_ASSERTION(aName && IsASCII(nsDependentCString(aName)), @@ -58,9 +57,6 @@ nsFont::nsFont(const char* aName, PRUint8 aStyle, PRUint8 aVariant, decorations = aDecoration; size = aSize; sizeAdjust = aSizeAdjust; - if (aFeatureSettings) { - featureSettings = *aFeatureSettings; - } if (aLanguageOverride) { languageOverride = *aLanguageOverride; } @@ -69,7 +65,6 @@ nsFont::nsFont(const char* aName, PRUint8 aStyle, PRUint8 aVariant, nsFont::nsFont(const nsString& aName, PRUint8 aStyle, PRUint8 aVariant, PRUint16 aWeight, PRInt16 aStretch, PRUint8 aDecoration, nscoord aSize, float aSizeAdjust, - const nsString* aFeatureSettings, const nsString* aLanguageOverride) : name(aName) { @@ -81,9 +76,6 @@ nsFont::nsFont(const nsString& aName, PRUint8 aStyle, PRUint8 aVariant, decorations = aDecoration; size = aSize; sizeAdjust = aSizeAdjust; - if (aFeatureSettings) { - featureSettings = *aFeatureSettings; - } if (aLanguageOverride) { languageOverride = *aLanguageOverride; } @@ -100,7 +92,6 @@ nsFont::nsFont(const nsFont& aOther) decorations = aOther.decorations; size = aOther.size; sizeAdjust = aOther.sizeAdjust; - featureSettings = aOther.featureSettings; languageOverride = aOther.languageOverride; fontFeatureSettings = aOther.fontFeatureSettings; } @@ -122,7 +113,6 @@ bool nsFont::BaseEquals(const nsFont& aOther) const (size == aOther.size) && (sizeAdjust == aOther.sizeAdjust) && name.Equals(aOther.name, nsCaseInsensitiveStringComparator()) && - (featureSettings == aOther.featureSettings) && (languageOverride == aOther.languageOverride) && (fontFeatureSettings == aOther.fontFeatureSettings)) { return true; @@ -151,7 +141,6 @@ nsFont& nsFont::operator=(const nsFont& aOther) decorations = aOther.decorations; size = aOther.size; sizeAdjust = aOther.sizeAdjust; - featureSettings = aOther.featureSettings; languageOverride = aOther.languageOverride; fontFeatureSettings = aOther.fontFeatureSettings; return *this; diff --git a/gfx/src/nsFont.h b/gfx/src/nsFont.h index d66d7981198..7ce83cd6fea 100644 --- a/gfx/src/nsFont.h +++ b/gfx/src/nsFont.h @@ -104,9 +104,6 @@ struct NS_GFX nsFont { // Font features from CSS font-feature-settings nsTArray fontFeatureSettings; - // old-style font-feature-settings (trimmed in later patch) - nsString featureSettings; - // Language system tag, to override document language; // this is an OpenType "language system" tag represented as a 32-bit integer // (see http://www.microsoft.com/typography/otspec/languagetags.htm). @@ -116,14 +113,12 @@ struct NS_GFX nsFont { nsFont(const char* aName, PRUint8 aStyle, PRUint8 aVariant, PRUint16 aWeight, PRInt16 aStretch, PRUint8 aDecoration, nscoord aSize, float aSizeAdjust=0.0f, - const nsString* aFeatureSettings = nsnull, const nsString* aLanguageOverride = nsnull); // Initialize the font struct with a (potentially) unicode name nsFont(const nsString& aName, PRUint8 aStyle, PRUint8 aVariant, PRUint16 aWeight, PRInt16 aStretch, PRUint8 aDecoration, nscoord aSize, float aSizeAdjust=0.0f, - const nsString* aFeatureSettings = nsnull, const nsString* aLanguageOverride = nsnull); // Make a copy of the given font diff --git a/gfx/src/nsFontMetrics.cpp b/gfx/src/nsFontMetrics.cpp index 678b643edfb..6bbaa093b91 100644 --- a/gfx/src/nsFontMetrics.cpp +++ b/gfx/src/nsFontMetrics.cpp @@ -134,7 +134,6 @@ nsFontMetrics::Init(const nsFont& aFont, nsIAtom* aLanguage, aFont.sizeAdjust, aFont.systemFont, mDeviceContext->IsPrinterSurface(), - aFont.featureSettings, aFont.languageOverride); aFont.AddFontFeaturesToStyle(&style); diff --git a/gfx/thebes/gfxFont.cpp b/gfx/thebes/gfxFont.cpp index a4ee24a5819..7aaadae3fbe 100644 --- a/gfx/thebes/gfxFont.cpp +++ b/gfx/thebes/gfxFont.cpp @@ -4005,57 +4005,6 @@ nsILanguageAtomService* gfxFontGroup::gLangService = nsnull; #define DEFAULT_PIXEL_FONT_SIZE 16.0f -/*static*/ void -gfxFontStyle::ParseFontFeatureSettings(const nsString& aFeatureString, - nsTArray& aFeatures) -{ - aFeatures.Clear(); - PRUint32 offset = 0; - while (offset < aFeatureString.Length()) { - // skip whitespace - while (offset < aFeatureString.Length() && - nsCRT::IsAsciiSpace(aFeatureString[offset])) { - ++offset; - } - PRInt32 limit = aFeatureString.FindChar(',', offset); - if (limit < 0) { - limit = aFeatureString.Length(); - } - // check that we have enough text for a 4-char tag, - // the '=' sign, and at least one digit - if (offset + 6 <= PRUint32(limit) && - aFeatureString[offset+4] == '=') { - gfxFontFeature setting; - setting.mTag = - ((aFeatureString[offset] & 0xff) << 24) + - ((aFeatureString[offset+1] & 0xff) << 16) + - ((aFeatureString[offset+2] & 0xff) << 8) + - (aFeatureString[offset+3] & 0xff); - nsString valString; - aFeatureString.Mid(valString, offset+5, limit-offset-5); - PRInt32 rv; - setting.mValue = valString.ToInteger(&rv); - if (rv == NS_OK) { - PRUint32 i; - // could optimize this based on the fact that the features array - // is sorted, but it's unlikely to be more than a few entries - for (i = 0; i < aFeatures.Length(); i++) { - if (aFeatures[i].mTag == setting.mTag) { - aFeatures[i].mValue = setting.mValue; - break; - } - } - if (i == aFeatures.Length()) { - // we keep the features array sorted so that we can - // use nsTArray<>::Equals() to compare feature lists - aFeatures.InsertElementSorted(setting); - } - } - } - offset = limit + 1; - } -} - /*static*/ PRUint32 gfxFontStyle::ParseFontLanguageOverride(const nsString& aLangTag) { @@ -4090,7 +4039,6 @@ gfxFontStyle::gfxFontStyle(PRUint8 aStyle, PRUint16 aWeight, PRInt16 aStretch, gfxFloat aSize, nsIAtom *aLanguage, float aSizeAdjust, bool aSystemFont, bool aPrinterFont, - const nsString& aFeatureSettings, const nsString& aLanguageOverride): language(aLanguage), size(aSize), sizeAdjust(aSizeAdjust), @@ -4099,8 +4047,6 @@ gfxFontStyle::gfxFontStyle(PRUint8 aStyle, PRUint16 aWeight, PRInt16 aStretch, systemFont(aSystemFont), printerFont(aPrinterFont), style(aStyle) { - ParseFontFeatureSettings(aFeatureSettings, featureSettings); - if (weight > 900) weight = 900; if (weight < 100) diff --git a/gfx/thebes/gfxFont.h b/gfx/thebes/gfxFont.h index 868c784e03b..ac60cea5892 100644 --- a/gfx/thebes/gfxFont.h +++ b/gfx/thebes/gfxFont.h @@ -93,7 +93,6 @@ struct THEBES_API gfxFontStyle { gfxFloat aSize, nsIAtom *aLanguage, float aSizeAdjust, bool aSystemFont, bool aPrinterFont, - const nsString& aFeatureSettings, const nsString& aLanguageOverride); gfxFontStyle(const gfxFontStyle& aStyle); diff --git a/layout/svg/base/src/nsSVGGlyphFrame.cpp b/layout/svg/base/src/nsSVGGlyphFrame.cpp index 3c40f9581b0..ada400d38ca 100644 --- a/layout/svg/base/src/nsSVGGlyphFrame.cpp +++ b/layout/svg/base/src/nsSVGGlyphFrame.cpp @@ -1605,7 +1605,6 @@ nsSVGGlyphFrame::EnsureTextRun(float *aDrawScale, float *aMetricsScale, mStyleContext->GetStyleFont()->mLanguage, font.sizeAdjust, font.systemFont, printerFont, - font.featureSettings, font.languageOverride); font.AddFontFeaturesToStyle(&fontStyle);