Bug 1366434 - Part 1. Automatically repeat mask-mode and mask-composite to match the number of mask layers.
To do this, we simply need to add them into nsRuleNode::FillAllBackgroundLists.
It's gecko only bug, stylist in stylo handle it correctly.
MozReview-Commit-ID: 6GkuMZnNEqt
--- a/layout/style/nsRuleNode.cpp
+++ b/layout/style/nsRuleNode.cpp
@@ -7298,16 +7298,22 @@ nsRuleNode::FillAllBackgroundLists(nsSty
&Position::mXPosition,
aImage.mPositionXCount, fillCount);
FillImageLayerPositionCoordList(aImage.mLayers,
&Position::mYPosition,
aImage.mPositionYCount, fillCount);
FillImageLayerList(aImage.mLayers,
&nsStyleImageLayers::Layer::mSize,
aImage.mSizeCount, fillCount);
+ FillImageLayerList(aImage.mLayers,
+ &nsStyleImageLayers::Layer::mMaskMode,
+ aImage.mMaskModeCount, fillCount);
+ FillImageLayerList(aImage.mLayers,
+ &nsStyleImageLayers::Layer::mComposite,
+ aImage.mCompositeCount, fillCount);
}
const void*
nsRuleNode::ComputeBackgroundData(void* aStartStruct,
const nsRuleData* aRuleData,
nsStyleContext* aContext,
nsRuleNode* aHighestNode,
const RuleDetail aRuleDetail,