⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 124297 in webkit


Ignore:
Timestamp:
Jul 31, 2012, 9:48:22 PM (14 years ago)
Author:
commit-queue@webkit.org
Message:

-webkit-flex-flow does not work with inherit/initial values
https://bugs.webkit.org/show_bug.cgi?id=92709

Patch by Douglas Stockwell <dstockwell@chromium.org> on 2012-07-31
Reviewed by Ojan Vafai.

Source/WebCore:

Add a new handler for flex-flow and move flex to StyleBuilder to mirror the standard pattern for handling initial/inherit in shorthands.

Test: css3/flexbox/flex-flow-initial.html

  • css/StyleBuilder.cpp:

(WebCore::StyleBuilder::StyleBuilder): Added handlers for flex and flex-flow.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::collectMatchingRulesForList): Removed hand written logic for handling flex.

LayoutTests:

Test that flex-flow handles 'initial' as expected.

  • css3/flexbox/flex-flow-initial-expected.txt: Added.
  • css3/flexbox/flex-flow-initial.html: Added.
Location:
trunk
Files:
2 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r124296 r124297  
     12012-07-31  Douglas Stockwell  <dstockwell@chromium.org>
     2
     3        -webkit-flex-flow does not work with inherit/initial values
     4        https://bugs.webkit.org/show_bug.cgi?id=92709
     5
     6        Reviewed by Ojan Vafai.
     7
     8        Test that flex-flow handles 'initial' as expected.
     9
     10        * css3/flexbox/flex-flow-initial-expected.txt: Added.
     11        * css3/flexbox/flex-flow-initial.html: Added.
     12
    1132012-07-31  Peter Kasting  <pkasting@google.com>
    214
  • trunk/Source/WebCore/ChangeLog

    r124295 r124297  
     12012-07-31  Douglas Stockwell  <dstockwell@chromium.org>
     2
     3        -webkit-flex-flow does not work with inherit/initial values
     4        https://bugs.webkit.org/show_bug.cgi?id=92709
     5
     6        Reviewed by Ojan Vafai.
     7
     8        Add a new handler for flex-flow and move flex to StyleBuilder to mirror the standard pattern for handling initial/inherit in shorthands.
     9
     10        Test: css3/flexbox/flex-flow-initial.html
     11
     12        * css/StyleBuilder.cpp:
     13        (WebCore::StyleBuilder::StyleBuilder): Added handlers for flex and flex-flow.
     14        * css/StyleResolver.cpp:
     15        (WebCore::StyleResolver::collectMatchingRulesForList): Removed hand written logic for handling flex.
     16
    1172012-07-31  Emil A Eklund  <eae@chromium.org>
    218
  • trunk/Source/WebCore/css/StyleBuilder.cpp

    r124276 r124297  
    19911991    setPropertyHandler(CSSPropertyWebkitAlignItems, ApplyPropertyDefault<EAlignItems, &RenderStyle::alignItems, EAlignItems, &RenderStyle::setAlignItems, EAlignItems, &RenderStyle::initialAlignItems>::createHandler());
    19921992    setPropertyHandler(CSSPropertyWebkitAlignSelf, ApplyPropertyDefault<EAlignItems, &RenderStyle::alignSelf, EAlignItems, &RenderStyle::setAlignSelf, EAlignItems, &RenderStyle::initialAlignSelf>::createHandler());
     1993    setPropertyHandler(CSSPropertyWebkitFlex, ApplyPropertyExpanding<SuppressValue, CSSPropertyWebkitFlexGrow, CSSPropertyWebkitFlexShrink, CSSPropertyWebkitFlexBasis>::createHandler());
    19931994    setPropertyHandler(CSSPropertyWebkitFlexBasis, ApplyPropertyLength<&RenderStyle::flexBasis, &RenderStyle::setFlexBasis, &RenderStyle::initialFlexBasis, AutoEnabled>::createHandler());
    19941995    setPropertyHandler(CSSPropertyWebkitFlexDirection, ApplyPropertyDefault<EFlexDirection, &RenderStyle::flexDirection, EFlexDirection, &RenderStyle::setFlexDirection, EFlexDirection, &RenderStyle::initialFlexDirection>::createHandler());
     1996    setPropertyHandler(CSSPropertyWebkitFlexFlow, ApplyPropertyExpanding<SuppressValue, CSSPropertyWebkitFlexDirection, CSSPropertyWebkitFlexWrap>::createHandler());
    19951997    setPropertyHandler(CSSPropertyWebkitFlexGrow, ApplyPropertyDefault<float, &RenderStyle::flexGrow, float, &RenderStyle::setFlexGrow, float, &RenderStyle::initialFlexGrow>::createHandler());
    19961998    setPropertyHandler(CSSPropertyWebkitFlexShrink, ApplyPropertyDefault<float, &RenderStyle::flexShrink, float, &RenderStyle::setFlexShrink, float, &RenderStyle::initialFlexShrink>::createHandler());
  • trunk/Source/WebCore/css/StyleResolver.cpp

    r124260 r124297  
    40024002    }
    40034003#endif
    4004 #if ENABLE(CSS3_FLEXBOX)
    4005     case CSSPropertyWebkitFlex:
    4006         if (isInherit) {
    4007             m_style->setFlexGrow(m_parentStyle->flexGrow());
    4008             m_style->setFlexShrink(m_parentStyle->flexShrink());
    4009             m_style->setFlexBasis(m_parentStyle->flexBasis());
    4010         } else if (isInitial) {
    4011             m_style->setFlexGrow(RenderStyle::initialFlexGrow());
    4012             m_style->setFlexShrink(RenderStyle::initialFlexShrink());
    4013             m_style->setFlexBasis(RenderStyle::initialFlexBasis());
    4014         }
    4015         return;
    4016 #endif
    40174004    case CSSPropertyInvalid:
    40184005        return;
     
    43454332    case CSSPropertyWebkitAlignItems:
    43464333    case CSSPropertyWebkitAlignSelf:
     4334    case CSSPropertyWebkitFlex:
    43474335    case CSSPropertyWebkitFlexBasis:
    43484336    case CSSPropertyWebkitFlexDirection:
Note: See TracChangeset for help on using the changeset viewer.