Skip to content
  • commit-queue@webkit.org's avatar
    Implement css3-conditional's @supports rule · 80d18446
    commit-queue@webkit.org authored
    https://bugs.webkit.org/show_bug.cgi?id=86146
    
    Patch by Pablo Flouret <pablof@motorola.com> on 2012-10-18
    Reviewed by Antti Koivisto.
    
    .:
    
    * Source/cmake/WebKitFeatures.cmake:
    * Source/cmakeconfig.h.cmake:
    * configure.ac:
        Add an ENABLE_CSS3_CONDITIONAL_RULES flag.
    
    Source/JavaScriptCore:
    
    * Configurations/FeatureDefines.xcconfig:
        Add an ENABLE_CSS3_CONDITIONAL_RULES flag.
    
    Source/WebCore:
    
    The "@supports" rule is a conditional group rule whose condition tests
    whether the user agent supports CSS property:value pairs.
    
    http://dev.w3.org/csswg/css3-conditional/#at-supports
    
    Test: css3/supports.html
    
    * Configurations/FeatureDefines.xcconfig:
    * GNUmakefile.am:
    * GNUmakefile.features.am:
        Add an ENABLE_CSS3_CONDITIONAL_RULES flag.
    
    * css/CSSGrammar.y.in:
    * css/CSSParser.cpp:
    (WebCore):
    (WebCore::CSSParser::detectSupportsToken): Tries to find 'and', 'not' and 'or' tokens.
    (WebCore::CSSParser::detectAtToken): Enter SupportsMode if @supports is detected.
    (WebCore::CSSParser::realLex): Try to detect supports tokens when in SupportsMode.
    * css/CSSParser.h: Added new SupportsMode parsing mode.
    (CSSParser):
    
    Source/WebKit/chromium:
    
    * features.gypi:
        Add an ENABLE_CSS3_CONDITIONAL_RULES flag.
    
    Source/WebKit/mac:
    
    * Configurations/FeatureDefines.xcconfig:
        Add an ENABLE_CSS3_CONDITIONAL_RULES flag.
    
    Source/WebKit2:
    
    * Configurations/FeatureDefines.xcconfig:
        Add an ENABLE_CSS3_CONDITIONAL_RULES flag.
    
    Tools:
    
    * Scripts/webkitperl/FeatureList.pm:
    * qmake/mkspecs/features/features.pri:
        Add an ENABLE_CSS3_CONDITIONAL_RULES flag.
    
    WebKitLibraries:
    
    * win/tools/vsprops/FeatureDefines.vsprops:
    * win/tools/vsprops/FeatureDefinesCairo.vsprops:
        Add an ENABLE_CSS3_CONDITIONAL_RULES flag.
    
    LayoutTests:
    
    * css3/supports-expected.txt: Added.
    * css3/supports.html: Added.
    
    * platform/chromium/TestExpectations:
    * platform/efl/TestExpectations:
    * platform/gtk/TestExpectations:
    * platform/mac/TestExpectations:
    * platform/qt/TestExpectations:
    * platform/win/TestExpectations:
    * platform/wincairo/TestExpectations:
    * platform/wk2/TestExpectations:
        Skip the test until the feature is enabled.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131783 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    80d18446