From 7ec450431d64e690b395401ca88bcff3cbf7040d Mon Sep 17 00:00:00 2001 From: "aaronleventhal%moonset.net" Date: Sun, 10 Oct 2004 00:51:42 +0000 Subject: [PATCH] Bug 24676. Support -moz-outline-radius. r=bzbarsky, sr=roc git-svn-id: svn://10.0.0.236/trunk@163489 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/content/base/src/nsRuleNode.cpp | 13 +++++++++++++ mozilla/layout/style/nsRuleNode.cpp | 13 +++++++++++++ 2 files changed, 26 insertions(+) diff --git a/mozilla/content/base/src/nsRuleNode.cpp b/mozilla/content/base/src/nsRuleNode.cpp index 6a38ad59145..af98ab6f37a 100644 --- a/mozilla/content/base/src/nsRuleNode.cpp +++ b/mozilla/content/base/src/nsRuleNode.cpp @@ -3484,6 +3484,19 @@ nsRuleNode::ComputeOutlineData(nsStyleStruct* aStartStruct, else if (eCSSUnit_Enumerated == marginData.mOutlineColor.GetUnit()) outline->SetOutlineInvert(); +// -moz-border-radius: length, percent, inherit + nsStyleCoord coord; + nsStyleCoord parentCoord; + { // scope for compilers with broken |for| loop scoping + NS_FOR_CSS_SIDES(side) { + parentOutline->mOutlineRadius.Get(side, parentCoord); + if (SetCoord(marginData.mOutlineRadius.*(nsCSSRect::sides[side]), coord, + parentCoord, SETCOORD_LPH, aContext, mPresContext, + inherited)) + outline->mOutlineRadius.Set(side, coord); + } + } + // outline-style: enum, none, inherit if (eCSSUnit_Enumerated == marginData.mOutlineStyle.GetUnit()) outline->SetOutlineStyle(marginData.mOutlineStyle.GetIntValue()); diff --git a/mozilla/layout/style/nsRuleNode.cpp b/mozilla/layout/style/nsRuleNode.cpp index 6a38ad59145..af98ab6f37a 100644 --- a/mozilla/layout/style/nsRuleNode.cpp +++ b/mozilla/layout/style/nsRuleNode.cpp @@ -3484,6 +3484,19 @@ nsRuleNode::ComputeOutlineData(nsStyleStruct* aStartStruct, else if (eCSSUnit_Enumerated == marginData.mOutlineColor.GetUnit()) outline->SetOutlineInvert(); +// -moz-border-radius: length, percent, inherit + nsStyleCoord coord; + nsStyleCoord parentCoord; + { // scope for compilers with broken |for| loop scoping + NS_FOR_CSS_SIDES(side) { + parentOutline->mOutlineRadius.Get(side, parentCoord); + if (SetCoord(marginData.mOutlineRadius.*(nsCSSRect::sides[side]), coord, + parentCoord, SETCOORD_LPH, aContext, mPresContext, + inherited)) + outline->mOutlineRadius.Set(side, coord); + } + } + // outline-style: enum, none, inherit if (eCSSUnit_Enumerated == marginData.mOutlineStyle.GetUnit()) outline->SetOutlineStyle(marginData.mOutlineStyle.GetIntValue());