From 67421b304870ac3eb326c376d6c59dd38219e085 Mon Sep 17 00:00:00 2001 From: erixreyes Date: Tue, 8 Jul 2025 06:08:31 +0800 Subject: [PATCH] Issue #2757: Create a new basicShape of type inset then set inset coords to zero. --- layout/style/nsRuleNode.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/layout/style/nsRuleNode.cpp b/layout/style/nsRuleNode.cpp index f4a0b82753..a593c54b15 100644 --- a/layout/style/nsRuleNode.cpp +++ b/layout/style/nsRuleNode.cpp @@ -10093,7 +10093,18 @@ SetStyleShapeSourceToCSSValue( if (basicShape) { aShapeSource->SetBasicShape(basicShape, referenceBox); } else { - aShapeSource->SetReferenceBox(referenceBox); + if (mozilla::IsSame::value && + referenceBox != ReferenceBox::NoBox) { + RefPtr defaultInset = new StyleBasicShape(StyleBasicShapeType::Inset); + nsStyleCoord zero; + zero.SetCoordValue(0); + for (int i = 0; i < 4; i++) { + defaultInset->Coordinates().AppendElement(zero); + } + aShapeSource->SetBasicShape(defaultInset, referenceBox); + } else { + aShapeSource->SetReferenceBox(referenceBox); + } } }