Skip to content
  • bdakin@apple.com's avatar
    WebCore: Fix for <rdar://problem/7083741> Implement a CSS extension to · cd4dd27a
    bdakin@apple.com authored
    adjust sub-pixel anti-aliasing for text
    -and corresponding-
    https://bugs.webkit.org/show_bug.cgi?id=29291
    
    Reviewed by Darin Adler.
    
    Added tests:
    * fast/css/font-smoothing.html: Added.
    * fast/css/parsing-webkit-font-smoothing.html: Added.
    
    This patch adds a new CSS property called -webkit-font-smoothing 
    that accepts the following as valid input: auto | none | 
    antialiased | subpixel-antialiased
    
    Return appropriate computed style for -webkit-font-smoothing
    * css/CSSComputedStyleDeclaration.cpp:
    (WebCore::):
    (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
    
    Add a case for CSSPropertyWebkitFontSmoothing, and accept valid 
    input.
    * css/CSSParser.cpp:
    (WebCore::CSSParser::parseValue):
    
    Add mappings for FontSmoothing to the right CSS values.
    * css/CSSPrimitiveValueMappings.h:
    (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
    (WebCore::CSSPrimitiveValue::operator FontSmoothing):
    
    Add -webkit-font-smoothing
    * css/CSSPropertyNames.in:
    
    Set fontSmoothing on the FontDescription.
    * css/CSSStyleSelector.cpp:
    (WebCore::CSSStyleSelector::applyProperty):
    
    Add antialiased and subpixel-antialiased as possible new CSS 
    values.
    * css/CSSValueKeywords.in:
    Store the font smoothing CSS value in the FontDescription.
    * platform/graphics/FontDescription.h:
    (WebCore::FontDescription::FontDescription):
    (WebCore::FontDescription::fontSmoothing):
    (WebCore::FontDescription::setFontSmoothing):
    (WebCore::FontDescription::operator==):
    
    Call setShouldAntialias() and setShouldUseSmoothing() appropriately 
    based on the CSS fontSmoothing() value.
    * platform/graphics/mac/FontMac.mm:
    (WebCore::Font::drawGlyphs):
    * platform/graphics/win/FontCGWin.cpp:
    (WebCore::Font::drawGlyphs):
    
    New function fontSmoothing()
    * rendering/style/RenderStyle.h:
    (WebCore::InheritedFlags::fontSmoothing):
    
    New enum FontSmoothing.
    * rendering/style/RenderStyleConstants.h:
    (WebCore::):
    
    LayoutTests: Tests for <rdar://problem/7083741> Implement a CSS extension to 
    adjust sub-pixel anti-aliasing for text
    
    Reviewed by Darin Adler.
    
    New tests:
    * fast/css/font-smoothing.html: Added.
    * fast/css/parsing-webkit-font-smoothing-expected.txt: Added.
    * fast/css/parsing-webkit-font-smoothing.html: Added.
    * fast/css/resources/parsing-webkit-font-smoothing.js: Added.
    (test):
    * platform/mac/fast/css/font-smoothing-expected.checksum: Added.
    * platform/mac/fast/css/font-smoothing-expected.png: Added.
    * platform/mac/fast/css/font-smoothing-expected.txt: Added.
    
    These tests have updated results now that -webkit-font-smoothing is 
    reported with computed style.
    * platform/mac/fast/css/getComputedStyle/computed-style-expected.txt:
    * platform/mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
    * svg/css/getComputedStyle-basic-expected.txt:
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48441 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    cd4dd27a