Bug 1274096 part 1: Add support for webkit-prefixed aliases of modern flexbox CSS properties. r?mats
MozReview-Commit-ID: FcOqz82qCAI
--- a/layout/style/nsCSSPropAliasList.h
+++ b/layout/style/nsCSSPropAliasList.h
@@ -348,16 +348,67 @@ CSS_PROP_ALIAS(-webkit-box-align,
box_align,
WebkitBoxAlign,
WEBKIT_PREFIX_PREF)
CSS_PROP_ALIAS(-webkit-box-pack,
box_pack,
WebkitBoxPack,
WEBKIT_PREFIX_PREF)
+// Alias -webkit-flex related properties to their unprefixed equivalents:
+// (Matching ordering at https://drafts.csswg.org/css-flexbox-1/#property-index )
+CSS_PROP_ALIAS(-webkit-flex-direction,
+ flex_direction,
+ WebkitFlexDirection,
+ WEBKIT_PREFIX_PREF)
+CSS_PROP_ALIAS(-webkit-flex-wrap,
+ flex_wrap,
+ WebkitFlexWrap,
+ WEBKIT_PREFIX_PREF)
+CSS_PROP_ALIAS(-webkit-flex-flow,
+ flex_flow,
+ WebkitFlexFlow,
+ WEBKIT_PREFIX_PREF)
+CSS_PROP_ALIAS(-webkit-order,
+ order,
+ WebkitOrder,
+ WEBKIT_PREFIX_PREF)
+CSS_PROP_ALIAS(-webkit-flex,
+ flex,
+ WebkitFlex,
+ WEBKIT_PREFIX_PREF)
+CSS_PROP_ALIAS(-webkit-flex-grow,
+ flex_grow,
+ WebkitFlexGrow,
+ WEBKIT_PREFIX_PREF)
+CSS_PROP_ALIAS(-webkit-flex-shrink,
+ flex_shrink,
+ WebkitFlexShrink,
+ WEBKIT_PREFIX_PREF)
+CSS_PROP_ALIAS(-webkit-flex-basis,
+ flex_basis,
+ WebkitFlexBasis,
+ WEBKIT_PREFIX_PREF)
+CSS_PROP_ALIAS(-webkit-justify-content,
+ justify_content,
+ WebkitJustifyContent,
+ WEBKIT_PREFIX_PREF)
+CSS_PROP_ALIAS(-webkit-align-items,
+ align_items,
+ WebkitAlignItems,
+ WEBKIT_PREFIX_PREF)
+CSS_PROP_ALIAS(-webkit-align-self,
+ align_self,
+ WebkitAlignSelf,
+ WEBKIT_PREFIX_PREF)
+CSS_PROP_ALIAS(-webkit-align-content,
+ align_content,
+ WebkitAlignContent,
+ WEBKIT_PREFIX_PREF)
+
CSS_PROP_ALIAS(-webkit-user-select,
user_select,
WebkitUserSelect,
WEBKIT_PREFIX_PREF)
#ifdef MOZ_ENABLE_MASK_AS_SHORTHAND
CSS_PROP_ALIAS(-webkit-mask,
mask,
--- a/layout/style/test/property_database.js
+++ b/layout/style/test/property_database.js
@@ -7371,16 +7371,100 @@ if (IsCSSPropertyPrefEnabled("layout.css
};
gCSSProperties["-webkit-box-pack"] = {
domProp: "webkitBoxPack",
inherited: false,
type: CSS_TYPE_SHORTHAND_AND_LONGHAND,
alias_for: "-moz-box-pack",
subproperties: [ "-moz-box-pack" ],
};
+ gCSSProperties["-webkit-flex-direction"] = {
+ domProp: "webkitFlexDirection",
+ inherited: false,
+ type: CSS_TYPE_SHORTHAND_AND_LONGHAND,
+ alias_for: "flex-direction",
+ subproperties: [ "flex-direction" ],
+ };
+ gCSSProperties["-webkit-flex-wrap"] = {
+ domProp: "webkitFlexWrap",
+ inherited: false,
+ type: CSS_TYPE_SHORTHAND_AND_LONGHAND,
+ alias_for: "flex-wrap",
+ subproperties: [ "flex-wrap" ],
+ };
+ gCSSProperties["-webkit-flex-flow"] = {
+ domProp: "webkitFlexFlow",
+ inherited: false,
+ type: CSS_TYPE_TRUE_SHORTHAND,
+ alias_for: "flex-flow",
+ subproperties: [ "flex-direction", "flex-wrap" ],
+ };
+ gCSSProperties["-webkit-order"] = {
+ domProp: "webkitOrder",
+ inherited: false,
+ type: CSS_TYPE_SHORTHAND_AND_LONGHAND,
+ alias_for: "order",
+ subproperties: [ "order" ],
+ };
+ gCSSProperties["-webkit-flex"] = {
+ domProp: "webkitFlex",
+ inherited: false,
+ type: CSS_TYPE_TRUE_SHORTHAND,
+ alias_for: "flex",
+ subproperties: [ "flex-grow", "flex-shrink", "flex-basis" ],
+ };
+ gCSSProperties["-webkit-flex-grow"] = {
+ domProp: "webkitFlexGrow",
+ inherited: false,
+ type: CSS_TYPE_SHORTHAND_AND_LONGHAND,
+ alias_for: "flex-grow",
+ subproperties: [ "flex-grow" ],
+ };
+ gCSSProperties["-webkit-flex-shrink"] = {
+ domProp: "webkitFlexShrink",
+ inherited: false,
+ type: CSS_TYPE_SHORTHAND_AND_LONGHAND,
+ alias_for: "flex-shrink",
+ subproperties: [ "flex-shrink" ],
+ };
+ gCSSProperties["-webkit-flex-basis"] = {
+ domProp: "webkitFlexBasis",
+ inherited: false,
+ type: CSS_TYPE_SHORTHAND_AND_LONGHAND,
+ alias_for: "flex-basis",
+ subproperties: [ "flex-basis" ],
+ };
+ gCSSProperties["-webkit-justify-content"] = {
+ domProp: "webkitJustifyContent",
+ inherited: false,
+ type: CSS_TYPE_SHORTHAND_AND_LONGHAND,
+ alias_for: "justify-content",
+ subproperties: [ "justify-content" ],
+ };
+ gCSSProperties["-webkit-align-items"] = {
+ domProp: "webkitAlignItems",
+ inherited: false,
+ type: CSS_TYPE_SHORTHAND_AND_LONGHAND,
+ alias_for: "align-items",
+ subproperties: [ "align-items" ],
+ };
+ gCSSProperties["-webkit-align-self"] = {
+ domProp: "webkitAlignSelf",
+ inherited: false,
+ type: CSS_TYPE_SHORTHAND_AND_LONGHAND,
+ alias_for: "align-self",
+ subproperties: [ "align-self" ],
+ };
+ gCSSProperties["-webkit-align-content"] = {
+ domProp: "webkitAlignContent",
+ inherited: false,
+ type: CSS_TYPE_SHORTHAND_AND_LONGHAND,
+ alias_for: "align-content",
+ subproperties: [ "align-content" ],
+ };
gCSSProperties["-webkit-user-select"] = {
domProp: "webkitUserSelect",
inherited: false,
type: CSS_TYPE_SHORTHAND_AND_LONGHAND,
alias_for: "-moz-user-select",
subproperties: [ "-moz-user-select" ],
};