Diff
Modified: trunk/Source/WebCore/ChangeLog (118582 => 118583)
--- trunk/Source/WebCore/ChangeLog 2012-05-25 23:00:26 UTC (rev 118582)
+++ trunk/Source/WebCore/ChangeLog 2012-05-25 23:01:49 UTC (rev 118583)
@@ -1,3 +1,42 @@
+2012-05-25 Tim Horton <[email protected]>
+
+ ENABLE_CSS3_FLEXBOX is insufficient to disable all web-facing bits of the feature
+ https://bugs.webkit.org/show_bug.cgi?id=87537
+ <rdar://problem/11524921>
+
+ Reviewed by Simon Fraser.
+
+ Allow the feature flag to disable more web-facing parts of the CSS3 flexbox
+ implementation (primarily fallout from hiding it from computed style).
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+ * css/CSSParser.cpp:
+ (WebCore::isValidKeywordPropertyAndValue):
+ (WebCore::isKeywordPropertyID):
+ (WebCore::CSSParser::parseValue):
+ * css/CSSPrimitiveValueMappings.h:
+ (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
+ * css/CSSProperty.cpp:
+ (WebCore::CSSProperty::isInheritedProperty):
+ * css/CSSPropertyNames.in:
+ * css/CSSValueKeywords.in:
+ * css/StyleBuilder.cpp:
+ (WebCore::StyleBuilder::StyleBuilder):
+ * css/StylePropertySet.cpp:
+ (WebCore::StylePropertySet::getPropertyValue):
+ (WebCore::StylePropertySet::asText):
+ * css/StylePropertyShorthand.cpp:
+ (WebCore::shorthandForProperty):
+ * css/StylePropertyShorthand.h:
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::collectMatchingRulesForList):
+ * page/animation/CSSPropertyAnimation.cpp:
+ (WebCore::CSSPropertyAnimation::ensurePropertyMap):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::createObject):
+ * rendering/style/RenderStyleConstants.h:
+
2012-05-25 Adrienne Walker <[email protected]>
[chromium] Add setting for painting debug info onto tiles
Modified: trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp (118582 => 118583)
--- trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp 2012-05-25 23:00:26 UTC (rev 118582)
+++ trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp 2012-05-25 23:01:49 UTC (rev 118583)
@@ -226,6 +226,7 @@
#if ENABLE(CSS_FILTERS)
CSSPropertyWebkitFilter,
#endif
+#if ENABLE(CSS3_FLEXBOX)
CSSPropertyWebkitFlex,
CSSPropertyWebkitFlexOrder,
CSSPropertyWebkitFlexPack,
@@ -235,6 +236,7 @@
CSSPropertyWebkitFlexFlow,
CSSPropertyWebkitFlexLinePack,
CSSPropertyWebkitFlexWrap,
+#endif
CSSPropertyWebkitFontKerning,
CSSPropertyWebkitFontSmoothing,
CSSPropertyWebkitFontVariantLigatures,
@@ -1627,6 +1629,7 @@
return cssValuePool().createValue(style->display());
case CSSPropertyEmptyCells:
return cssValuePool().createValue(style->emptyCells());
+#if ENABLE(CSS3_FLEXBOX)
case CSSPropertyWebkitFlex: {
RefPtr<CSSValueList> list = CSSValueList::createSpaceSeparated();
list->append(cssValuePool().createValue(style->positiveFlex()));
@@ -1667,6 +1670,7 @@
list->append(cssValuePool().createValue(style->flexWrap()));
return list.release();
}
+#endif
case CSSPropertyFloat:
return cssValuePool().createValue(style->floating());
case CSSPropertyFont: {
Modified: trunk/Source/WebCore/css/CSSParser.cpp (118582 => 118583)
--- trunk/Source/WebCore/css/CSSParser.cpp 2012-05-25 23:00:26 UTC (rev 118582)
+++ trunk/Source/WebCore/css/CSSParser.cpp 2012-05-25 23:01:49 UTC (rev 118583)
@@ -684,6 +684,7 @@
if (valueID == CSSValueSrgb || valueID == CSSValueDefault)
return true;
break;
+#if ENABLE(CSS3_FLEXBOX)
case CSSPropertyWebkitFlexAlign:
if (valueID == CSSValueStart || valueID == CSSValueEnd || valueID == CSSValueCenter || valueID == CSSValueBaseline || valueID == CSSValueStretch)
return true;
@@ -708,6 +709,7 @@
if (valueID == CSSValueNone || valueID == CSSValueWrap || valueID == CSSValueWrapReverse)
return true;
break;
+#endif
case CSSPropertyWebkitFontKerning:
if (valueID == CSSValueAuto || valueID == CSSValueNormal || valueID == CSSValueNone)
return true;
@@ -912,12 +914,14 @@
case CSSPropertyWebkitColumnBreakBefore:
case CSSPropertyWebkitColumnBreakInside:
case CSSPropertyWebkitColumnRuleStyle:
+#if ENABLE(CSS3_FLEXBOX)
case CSSPropertyWebkitFlexAlign:
case CSSPropertyWebkitFlexDirection:
case CSSPropertyWebkitFlexItemAlign:
case CSSPropertyWebkitFlexLinePack:
case CSSPropertyWebkitFlexPack:
case CSSPropertyWebkitFlexWrap:
+#endif
case CSSPropertyWebkitFontKerning:
case CSSPropertyWebkitFontSmoothing:
case CSSPropertyWebkitHyphens:
@@ -2089,6 +2093,7 @@
}
break;
#endif
+#if ENABLE(CSS3_FLEXBOX)
case CSSPropertyWebkitFlex:
if (id == CSSValueNone)
validPrimitive = true;
@@ -2103,6 +2108,7 @@
m_valueList->next();
}
break;
+#endif
case CSSPropertyWebkitMarquee:
return parseShorthand(propId, webkitMarqueeShorthand(), important);
case CSSPropertyWebkitMarqueeIncrement:
@@ -2415,8 +2421,10 @@
case CSSPropertyPadding:
// <padding-width>{1,4} | inherit
return parse4Values(propId, paddingShorthand().properties(), important);
+#if ENABLE(CSS3_FLEXBOX)
case CSSPropertyWebkitFlexFlow:
return parseShorthand(propId, webkitFlexFlowShorthand(), important);
+#endif
case CSSPropertyFont:
// [ [ 'font-style' || 'font-variant' || 'font-weight' ]? 'font-size' [ / 'line-height' ]?
// 'font-family' ] | caption | icon | menu | message-box | small-caption | status-bar | inherit
@@ -2549,12 +2557,14 @@
case CSSPropertyWebkitColumnBreakBefore:
case CSSPropertyWebkitColumnBreakInside:
case CSSPropertyWebkitColumnRuleStyle:
+#if ENABLE(CSS3_FLEXBOX)
case CSSPropertyWebkitFlexAlign:
case CSSPropertyWebkitFlexDirection:
case CSSPropertyWebkitFlexItemAlign:
case CSSPropertyWebkitFlexLinePack:
case CSSPropertyWebkitFlexPack:
case CSSPropertyWebkitFlexWrap:
+#endif
case CSSPropertyWebkitFontKerning:
case CSSPropertyWebkitFontSmoothing:
case CSSPropertyWebkitHyphens:
@@ -5555,6 +5565,8 @@
return true;
}
+#if ENABLE(CSS3_FLEXBOX)
+
PassRefPtr<CSSValue> CSSParser::parseFlex(CSSParserValueList* args)
{
if (!args || !args->size() || args->size() > 3)
@@ -5600,6 +5612,8 @@
return flex;
}
+#endif
+
struct BorderImageParseContext {
BorderImageParseContext()
: m_canAdvance(false)
Modified: trunk/Source/WebCore/css/CSSPrimitiveValueMappings.h (118582 => 118583)
--- trunk/Source/WebCore/css/CSSPrimitiveValueMappings.h 2012-05-25 23:00:26 UTC (rev 118582)
+++ trunk/Source/WebCore/css/CSSPrimitiveValueMappings.h 2012-05-25 23:01:49 UTC (rev 118583)
@@ -1111,12 +1111,14 @@
case INLINE_BOX:
m_value.ident = CSSValueWebkitInlineBox;
break;
+#if ENABLE(CSS3_FLEXBOX)
case FLEX:
m_value.ident = CSSValueWebkitFlex;
break;
case INLINE_FLEX:
m_value.ident = CSSValueWebkitInlineFlex;
break;
+#endif
case GRID:
m_value.ident = CSSValueWebkitGrid;
break;
@@ -1166,6 +1168,8 @@
}
}
+#if ENABLE(CSS3_FLEXBOX)
+
template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EFlexAlign e)
: CSSValue(PrimitiveClass)
{
@@ -1371,6 +1375,8 @@
}
}
+#endif
+
template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EFloat e)
: CSSValue(PrimitiveClass)
{
Modified: trunk/Source/WebCore/css/CSSProperty.cpp (118582 => 118583)
--- trunk/Source/WebCore/css/CSSProperty.cpp 2012-05-25 23:00:26 UTC (rev 118582)
+++ trunk/Source/WebCore/css/CSSProperty.cpp 2012-05-25 23:01:49 UTC (rev 118583)
@@ -537,6 +537,7 @@
#if ENABLE(CSS_FILTERS)
case CSSPropertyWebkitFilter:
#endif
+#if ENABLE(CSS3_FLEXBOX)
case CSSPropertyWebkitFlex:
case CSSPropertyWebkitFlexOrder:
case CSSPropertyWebkitFlexPack:
@@ -546,6 +547,7 @@
case CSSPropertyWebkitFlexFlow:
case CSSPropertyWebkitFlexLinePack:
case CSSPropertyWebkitFlexWrap:
+#endif
case CSSPropertyWebkitFontSizeDelta:
case CSSPropertyWebkitGridColumns:
case CSSPropertyWebkitGridRows:
Modified: trunk/Source/WebCore/css/CSSPropertyNames.in (118582 => 118583)
--- trunk/Source/WebCore/css/CSSPropertyNames.in 2012-05-25 23:00:26 UTC (rev 118582)
+++ trunk/Source/WebCore/css/CSSPropertyNames.in 2012-05-25 23:01:49 UTC (rev 118583)
@@ -256,6 +256,7 @@
#if defined(ENABLE_CSS_FILTERS) && ENABLE_CSS_FILTERS
-webkit-filter
#endif
+#if defined(ENABLE_CSS3_FLEXBOX) && ENABLE_CSS3_FLEXBOX
-webkit-flex
-webkit-flex-align
-webkit-flex-direction
@@ -265,6 +266,7 @@
-webkit-flex-order
-webkit-flex-pack
-webkit-flex-wrap
+#endif
-webkit-font-size-delta
-webkit-grid-columns
-webkit-grid-rows
Modified: trunk/Source/WebCore/css/CSSValueKeywords.in (118582 => 118583)
--- trunk/Source/WebCore/css/CSSValueKeywords.in 2012-05-25 23:00:26 UTC (rev 118582)
+++ trunk/Source/WebCore/css/CSSValueKeywords.in 2012-05-25 23:01:49 UTC (rev 118583)
@@ -332,8 +332,10 @@
table-caption
-webkit-box
-webkit-inline-box
+#if defined(ENABLE_CSS3_FLEXBOX) && ENABLE_CSS3_FLEXBOX
-webkit-flex
-webkit-inline-flex
+#endif
-webkit-grid
-webkit-inline-grid
//none
@@ -481,6 +483,7 @@
single
multiple
+#if defined(ENABLE_CSS3_FLEXBOX) && ENABLE_CSS3_FLEXBOX
// CSS_PROP_FLEX_ALIGN
// start
// end
@@ -511,6 +514,7 @@
// justify
// distribute
// stretch
+#endif
// CSS_PROP_MARQUEE_DIRECTION
forwards
Modified: trunk/Source/WebCore/css/StyleBuilder.cpp (118582 => 118583)
--- trunk/Source/WebCore/css/StyleBuilder.cpp 2012-05-25 23:00:26 UTC (rev 118582)
+++ trunk/Source/WebCore/css/StyleBuilder.cpp 2012-05-25 23:01:49 UTC (rev 118583)
@@ -1931,6 +1931,7 @@
setPropertyHandler(CSSPropertyWebkitColumnSpan, ApplyPropertyDefault<ColumnSpan, &RenderStyle::columnSpan, ColumnSpan, &RenderStyle::setColumnSpan, ColumnSpan, &RenderStyle::initialColumnSpan>::createHandler());
setPropertyHandler(CSSPropertyWebkitColumnRuleStyle, ApplyPropertyDefault<EBorderStyle, &RenderStyle::columnRuleStyle, EBorderStyle, &RenderStyle::setColumnRuleStyle, EBorderStyle, &RenderStyle::initialBorderStyle>::createHandler());
setPropertyHandler(CSSPropertyWebkitColumnWidth, ApplyPropertyAuto<float, &RenderStyle::columnWidth, &RenderStyle::setColumnWidth, &RenderStyle::hasAutoColumnWidth, &RenderStyle::setHasAutoColumnWidth, ComputeLength>::createHandler());
+#if ENABLE(CSS3_FLEXBOX)
setPropertyHandler(CSSPropertyWebkitFlex, ApplyPropertyFlex::createHandler());
setPropertyHandler(CSSPropertyWebkitFlexAlign, ApplyPropertyDefault<EFlexAlign, &RenderStyle::flexAlign, EFlexAlign, &RenderStyle::setFlexAlign, EFlexAlign, &RenderStyle::initialFlexAlign>::createHandler());
setPropertyHandler(CSSPropertyWebkitFlexDirection, ApplyPropertyDefault<EFlexDirection, &RenderStyle::flexDirection, EFlexDirection, &RenderStyle::setFlexDirection, EFlexDirection, &RenderStyle::initialFlexDirection>::createHandler());
@@ -1940,6 +1941,7 @@
setPropertyHandler(CSSPropertyWebkitFlexOrder, ApplyPropertyDefault<int, &RenderStyle::flexOrder, int, &RenderStyle::setFlexOrder, int, &RenderStyle::initialFlexOrder>::createHandler());
setPropertyHandler(CSSPropertyWebkitFlexPack, ApplyPropertyDefault<EFlexPack, &RenderStyle::flexPack, EFlexPack, &RenderStyle::setFlexPack, EFlexPack, &RenderStyle::initialFlexPack>::createHandler());
setPropertyHandler(CSSPropertyWebkitFlexWrap, ApplyPropertyDefault<EFlexWrap, &RenderStyle::flexWrap, EFlexWrap, &RenderStyle::setFlexWrap, EFlexWrap, &RenderStyle::initialFlexWrap>::createHandler());
+#endif
#if ENABLE(CSS_REGIONS)
setPropertyHandler(CSSPropertyWebkitFlowFrom, ApplyPropertyString<MapNoneToNull, &RenderStyle::regionThread, &RenderStyle::setRegionThread, &RenderStyle::initialRegionThread>::createHandler());
setPropertyHandler(CSSPropertyWebkitFlowInto, ApplyPropertyString<MapNoneToNull, &RenderStyle::flowThread, &RenderStyle::setFlowThread, &RenderStyle::initialFlowThread>::createHandler());
Modified: trunk/Source/WebCore/css/StylePropertySet.cpp (118582 => 118583)
--- trunk/Source/WebCore/css/StylePropertySet.cpp 2012-05-25 23:00:26 UTC (rev 118582)
+++ trunk/Source/WebCore/css/StylePropertySet.cpp 2012-05-25 23:01:49 UTC (rev 118583)
@@ -120,8 +120,10 @@
return get4Values(borderWidthShorthand());
case CSSPropertyBorderStyle:
return get4Values(borderStyleShorthand());
+#if ENABLE(CSS3_FLEXBOX)
case CSSPropertyWebkitFlexFlow:
return getShorthandValue(webkitFlexFlowShorthand());
+#endif
case CSSPropertyFont:
return fontValue();
case CSSPropertyMargin:
@@ -697,10 +699,12 @@
case CSSPropertyWebkitAnimationFillMode:
shorthandPropertyID = CSSPropertyWebkitAnimation;
break;
+#if ENABLE(CSS3_FLEXBOX)
case CSSPropertyWebkitFlexDirection:
case CSSPropertyWebkitFlexWrap:
shorthandPropertyID = CSSPropertyWebkitFlexFlow;
break;
+#endif
case CSSPropertyWebkitMaskPositionX:
case CSSPropertyWebkitMaskPositionY:
case CSSPropertyWebkitMaskRepeatX:
Modified: trunk/Source/WebCore/css/StylePropertyShorthand.cpp (118582 => 118583)
--- trunk/Source/WebCore/css/StylePropertyShorthand.cpp 2012-05-25 23:00:26 UTC (rev 118582)
+++ trunk/Source/WebCore/css/StylePropertyShorthand.cpp 2012-05-25 23:01:49 UTC (rev 118583)
@@ -307,12 +307,14 @@
return webkitColumnRuleLonghands;
}
+#if ENABLE(CSS3_FLEXBOX)
const StylePropertyShorthand& webkitFlexFlowShorthand()
{
static const CSSPropertyID flexFlowProperties[] = { CSSPropertyWebkitFlexDirection, CSSPropertyWebkitFlexWrap };
DEFINE_STATIC_LOCAL(StylePropertyShorthand, webkitFlexFlowLonghands, (flexFlowProperties, WTF_ARRAY_LENGTH(flexFlowProperties)));
return webkitFlexFlowLonghands;
}
+#endif
const StylePropertyShorthand& webkitMarginCollapseShorthand()
{
@@ -477,8 +479,10 @@
return webkitColumnsShorthand();
case CSSPropertyWebkitColumnRule:
return webkitColumnRuleShorthand();
+#if ENABLE(CSS3_FLEXBOX)
case CSSPropertyWebkitFlexFlow:
return webkitFlexFlowShorthand();
+#endif
case CSSPropertyWebkitMarginCollapse:
return webkitMarginCollapseShorthand();
case CSSPropertyWebkitMarquee:
Modified: trunk/Source/WebCore/css/StylePropertyShorthand.h (118582 => 118583)
--- trunk/Source/WebCore/css/StylePropertyShorthand.h 2012-05-25 23:00:26 UTC (rev 118582)
+++ trunk/Source/WebCore/css/StylePropertyShorthand.h 2012-05-25 23:01:49 UTC (rev 118583)
@@ -86,7 +86,9 @@
const StylePropertyShorthand& webkitBorderStartShorthand();
const StylePropertyShorthand& webkitColumnsShorthand();
const StylePropertyShorthand& webkitColumnRuleShorthand();
+#if ENABLE(CSS3_FLEXBOX)
const StylePropertyShorthand& webkitFlexFlowShorthand();
+#endif
const StylePropertyShorthand& webkitMarginCollapseShorthand();
const StylePropertyShorthand& webkitMarqueeShorthand();
const StylePropertyShorthand& webkitMaskShorthand();
Modified: trunk/Source/WebCore/css/StyleResolver.cpp (118582 => 118583)
--- trunk/Source/WebCore/css/StyleResolver.cpp 2012-05-25 23:00:26 UTC (rev 118582)
+++ trunk/Source/WebCore/css/StyleResolver.cpp 2012-05-25 23:01:49 UTC (rev 118583)
@@ -1914,7 +1914,9 @@
case BLOCK:
case TABLE:
case BOX:
+#if ENABLE(CSS3_FLEXBOX)
case FLEX:
+#endif
case GRID:
return display;
@@ -1927,8 +1929,10 @@
return TABLE;
case INLINE_BOX:
return BOX;
+#if ENABLE(CSS3_FLEXBOX)
case INLINE_FLEX:
return FLEX;
+#endif
case INLINE_GRID:
return GRID;
@@ -4105,6 +4109,7 @@
case CSSPropertyWebkitColumns:
case CSSPropertyWebkitColumnSpan:
case CSSPropertyWebkitColumnWidth:
+#if ENABLE(CSS3_FLEXBOX)
case CSSPropertyWebkitFlex:
case CSSPropertyWebkitFlexAlign:
case CSSPropertyWebkitFlexDirection:
@@ -4114,6 +4119,7 @@
case CSSPropertyWebkitFlexOrder:
case CSSPropertyWebkitFlexPack:
case CSSPropertyWebkitFlexWrap:
+#endif
#if ENABLE(CSS_REGIONS)
case CSSPropertyWebkitFlowFrom:
case CSSPropertyWebkitFlowInto:
Modified: trunk/Source/WebCore/page/animation/CSSPropertyAnimation.cpp (118582 => 118583)
--- trunk/Source/WebCore/page/animation/CSSPropertyAnimation.cpp 2012-05-25 23:00:26 UTC (rev 118582)
+++ trunk/Source/WebCore/page/animation/CSSPropertyAnimation.cpp 2012-05-25 23:01:49 UTC (rev 118583)
@@ -901,6 +901,7 @@
Vector<AnimationPropertyWrapperBase*> m_propertyWrappers;
};
+#if ENABLE(CSS3_FLEXBOX)
class PropertyWrapperFlex : public AnimationPropertyWrapperBase {
public:
PropertyWrapperFlex() : AnimationPropertyWrapperBase(CSSPropertyWebkitFlex)
@@ -926,6 +927,7 @@
dst->setNegativeFlex(blendFunc(anim, a->negativeFlex(), b->negativeFlex(), progress));
}
};
+#endif
#if ENABLE(SVG)
class PropertyWrapperSVGPaint : public AnimationPropertyWrapperBase {
@@ -1044,7 +1046,9 @@
gPropertyWrappers->append(new PropertyWrapper<Length>(CSSPropertyMinHeight, &RenderStyle::minHeight, &RenderStyle::setMinHeight));
gPropertyWrappers->append(new PropertyWrapper<Length>(CSSPropertyMaxHeight, &RenderStyle::maxHeight, &RenderStyle::setMaxHeight));
+#if ENABLE(CSS3_FLEXBOX)
gPropertyWrappers->append(new PropertyWrapperFlex());
+#endif
gPropertyWrappers->append(new PropertyWrapper<unsigned>(CSSPropertyBorderLeftWidth, &RenderStyle::borderLeftWidth, &RenderStyle::setBorderLeftWidth));
gPropertyWrappers->append(new PropertyWrapper<unsigned>(CSSPropertyBorderRightWidth, &RenderStyle::borderRightWidth, &RenderStyle::setBorderRightWidth));
Modified: trunk/Source/WebCore/rendering/RenderObject.cpp (118582 => 118583)
--- trunk/Source/WebCore/rendering/RenderObject.cpp 2012-05-25 23:00:26 UTC (rev 118582)
+++ trunk/Source/WebCore/rendering/RenderObject.cpp 2012-05-25 23:01:49 UTC (rev 118583)
@@ -189,9 +189,11 @@
case BOX:
case INLINE_BOX:
return new (arena) RenderDeprecatedFlexibleBox(node);
+#if ENABLE(CSS3_FLEXBOX)
case FLEX:
case INLINE_FLEX:
return new (arena) RenderFlexibleBox(node);
+#endif
}
return 0;
Modified: trunk/Source/WebCore/rendering/style/RenderStyleConstants.h (118582 => 118583)
--- trunk/Source/WebCore/rendering/style/RenderStyleConstants.h 2012-05-25 23:00:26 UTC (rev 118582)
+++ trunk/Source/WebCore/rendering/style/RenderStyleConstants.h 2012-05-25 23:01:49 UTC (rev 118583)
@@ -409,8 +409,10 @@
TABLE, INLINE_TABLE, TABLE_ROW_GROUP,
TABLE_HEADER_GROUP, TABLE_FOOTER_GROUP, TABLE_ROW,
TABLE_COLUMN_GROUP, TABLE_COLUMN, TABLE_CELL,
- TABLE_CAPTION, BOX, INLINE_BOX,
+ TABLE_CAPTION, BOX, INLINE_BOX,
+#if ENABLE(CSS3_FLEXBOX)
FLEX, INLINE_FLEX,
+#endif
GRID, INLINE_GRID,
NONE
};