Bug 1177765 - Make nsIMathMLFrame expose the fence and separator properties of operators. r=karlt

This commit is contained in:
Frédéric Wang 2015-07-16 05:41:00 -04:00
parent 29dff999bd
commit 45bff1c9ba
2 changed files with 16 additions and 0 deletions

View File

@ -353,6 +353,12 @@ struct nsPresentationData {
// an accentunder frame
#define NS_MATHML_EMBELLISH_ACCENTUNDER 0x00000010
// This bit is set on the core if it is a fence operator.
#define NS_MATHML_EMBELLISH_FENCE 0x00000020
// This bit is set on the core if it is a separator operator.
#define NS_MATHML_EMBELLISH_SEPARATOR 0x00000040
// Macros that retrieve those bits
#define NS_MATHML_IS_EMBELLISH_OPERATOR(_flags) \
@ -370,4 +376,10 @@ struct nsPresentationData {
#define NS_MATHML_EMBELLISH_IS_ACCENTUNDER(_flags) \
(NS_MATHML_EMBELLISH_ACCENTUNDER == ((_flags) & NS_MATHML_EMBELLISH_ACCENTUNDER))
#define NS_MATHML_EMBELLISH_IS_FENCE(_flags) \
(NS_MATHML_EMBELLISH_FENCE == ((_flags) & NS_MATHML_EMBELLISH_FENCE))
#define NS_MATHML_EMBELLISH_IS_SEPARATOR(_flags) \
(NS_MATHML_EMBELLISH_SEPARATOR == ((_flags) & NS_MATHML_EMBELLISH_SEPARATOR))
#endif /* nsIMathMLFrame_h___ */

View File

@ -471,6 +471,8 @@ nsMathMLmoFrame::ProcessOperatorData()
mContent->GetAttr(kNameSpaceID_None, nsGkAtoms::fence_, value);
if (value.EqualsLiteral("false"))
mFlags &= ~NS_MATHML_OPERATOR_FENCE;
else
mEmbellishData.flags |= NS_MATHML_EMBELLISH_FENCE;
}
mContent->GetAttr(kNameSpaceID_None, nsGkAtoms::largeop_, value);
if (value.EqualsLiteral("false")) {
@ -482,6 +484,8 @@ nsMathMLmoFrame::ProcessOperatorData()
mContent->GetAttr(kNameSpaceID_None, nsGkAtoms::separator_, value);
if (value.EqualsLiteral("false"))
mFlags &= ~NS_MATHML_OPERATOR_SEPARATOR;
else
mEmbellishData.flags |= NS_MATHML_EMBELLISH_SEPARATOR;
}
mContent->GetAttr(kNameSpaceID_None, nsGkAtoms::symmetric_, value);
if (value.EqualsLiteral("false"))