Index: Source/core/testing/InternalSettings.cpp |
diff --git a/Source/core/testing/InternalSettings.cpp b/Source/core/testing/InternalSettings.cpp |
index 04abe815a93e5965583a317dd78291f8bdfecc6b..ff273c5c2c7bea8838598b66179a91c7968486be 100644 |
--- a/Source/core/testing/InternalSettings.cpp |
+++ b/Source/core/testing/InternalSettings.cpp |
@@ -102,7 +102,7 @@ void InternalSettings::Backup::restoreTo(Settings* settings) |
settings->setCompositorDrivenAcceleratedScrollingEnabled(m_originalCompositorDrivenAcceleratedScrollEnabled); |
settings->setLayerSquashingEnabled(m_originalLayerSquashingEnabled); |
settings->setPasswordGenerationDecorationEnabled(m_originalPasswordGenerationDecorationEnabled); |
- settings->resetFontFamilies(); |
+ settings->genericFontFamilySettings().reset(); |
} |
// We can't use RefCountedSupplement because that would try to make InternalSettings RefCounted |
@@ -216,54 +216,74 @@ void InternalSettings::setLayerSquashingEnabled(bool enabled, ExceptionState& ex |
settings()->setLayerSquashingEnabled(enabled); |
} |
-typedef void (Settings::*SetFontFamilyFunction)(const AtomicString&, UScriptCode); |
-static void setFontFamily(Settings* settings, const String& family, const String& script, SetFontFamilyFunction setter) |
-{ |
- UScriptCode code = scriptNameToCode(script); |
- if (code != USCRIPT_INVALID_CODE) |
- (settings->*setter)(family, code); |
-} |
- |
void InternalSettings::setStandardFontFamily(const String& family, const String& script, ExceptionState& exceptionState) |
{ |
InternalSettingsGuardForSettings(); |
- setFontFamily(settings(), family, script, &Settings::setStandardFontFamily); |
+ UScriptCode code = scriptNameToCode(script); |
+ if (code == USCRIPT_INVALID_CODE) |
+ return; |
+ settings()->genericFontFamilySettings().setStandard(family, code); |
+ m_page->setNeedsRecalcStyleInAllFrames(); |
} |
void InternalSettings::setSerifFontFamily(const String& family, const String& script, ExceptionState& exceptionState) |
{ |
InternalSettingsGuardForSettings(); |
- setFontFamily(settings(), family, script, &Settings::setSerifFontFamily); |
+ UScriptCode code = scriptNameToCode(script); |
+ if (code == USCRIPT_INVALID_CODE) |
+ return; |
+ settings()->genericFontFamilySettings().setSerif(family, code); |
+ m_page->setNeedsRecalcStyleInAllFrames(); |
} |
void InternalSettings::setSansSerifFontFamily(const String& family, const String& script, ExceptionState& exceptionState) |
{ |
InternalSettingsGuardForSettings(); |
- setFontFamily(settings(), family, script, &Settings::setSansSerifFontFamily); |
+ UScriptCode code = scriptNameToCode(script); |
+ if (code == USCRIPT_INVALID_CODE) |
+ return; |
+ settings()->genericFontFamilySettings().setSansSerif(family, code); |
+ m_page->setNeedsRecalcStyleInAllFrames(); |
} |
void InternalSettings::setFixedFontFamily(const String& family, const String& script, ExceptionState& exceptionState) |
{ |
InternalSettingsGuardForSettings(); |
- setFontFamily(settings(), family, script, &Settings::setFixedFontFamily); |
+ UScriptCode code = scriptNameToCode(script); |
+ if (code == USCRIPT_INVALID_CODE) |
+ return; |
+ settings()->genericFontFamilySettings().setFixed(family, code); |
+ m_page->setNeedsRecalcStyleInAllFrames(); |
} |
void InternalSettings::setCursiveFontFamily(const String& family, const String& script, ExceptionState& exceptionState) |
{ |
InternalSettingsGuardForSettings(); |
- setFontFamily(settings(), family, script, &Settings::setCursiveFontFamily); |
+ UScriptCode code = scriptNameToCode(script); |
+ if (code == USCRIPT_INVALID_CODE) |
+ return; |
+ settings()->genericFontFamilySettings().setCursive(family, code); |
+ m_page->setNeedsRecalcStyleInAllFrames(); |
} |
void InternalSettings::setFantasyFontFamily(const String& family, const String& script, ExceptionState& exceptionState) |
{ |
InternalSettingsGuardForSettings(); |
- setFontFamily(settings(), family, script, &Settings::setFantasyFontFamily); |
+ UScriptCode code = scriptNameToCode(script); |
+ if (code == USCRIPT_INVALID_CODE) |
+ return; |
+ settings()->genericFontFamilySettings().setFantasy(family, code); |
+ m_page->setNeedsRecalcStyleInAllFrames(); |
} |
void InternalSettings::setPictographFontFamily(const String& family, const String& script, ExceptionState& exceptionState) |
{ |
InternalSettingsGuardForSettings(); |
- setFontFamily(settings(), family, script, &Settings::setPictographFontFamily); |
+ UScriptCode code = scriptNameToCode(script); |
+ if (code == USCRIPT_INVALID_CODE) |
+ return; |
+ settings()->genericFontFamilySettings().setPictograph(family, code); |
+ m_page->setNeedsRecalcStyleInAllFrames(); |
} |
void InternalSettings::setTextAutosizingEnabled(bool enabled, ExceptionState& exceptionState) |