added experimental CSS3 properties
git-svn-id: svn://10.0.0.236/trunk@40991 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
parent
bcadfff6c1
commit
97f9eb5ee1
@ -38,6 +38,7 @@ static NS_DEFINE_IID(kCSSTableSID, NS_CSS_TABLE_SID);
|
||||
static NS_DEFINE_IID(kCSSBreaksSID, NS_CSS_BREAKS_SID);
|
||||
static NS_DEFINE_IID(kCSSPageSID, NS_CSS_PAGE_SID);
|
||||
static NS_DEFINE_IID(kCSSContentSID, NS_CSS_CONTENT_SID);
|
||||
static NS_DEFINE_IID(kCSSUserInterfaceSID, NS_CSS_USER_INTERFACE_SID);
|
||||
static NS_DEFINE_IID(kCSSAuralSID, NS_CSS_AURAL_SID);
|
||||
static NS_DEFINE_IID(kICSSDeclarationIID, NS_ICSS_DECLARATION_IID);
|
||||
|
||||
@ -379,7 +380,8 @@ nsCSSMargin::nsCSSMargin(const nsCSSMargin& aCopy)
|
||||
mBorderRadius(aCopy.mBorderRadius),
|
||||
mOutlineWidth(aCopy.mOutlineWidth),
|
||||
mOutlineColor(aCopy.mOutlineColor),
|
||||
mOutlineStyle(aCopy.mOutlineStyle)
|
||||
mOutlineStyle(aCopy.mOutlineStyle),
|
||||
mFloatEdge(aCopy.mFloatEdge)
|
||||
{
|
||||
CSS_IF_COPY(mMargin, nsCSSRect);
|
||||
CSS_IF_COPY(mPadding, nsCSSRect);
|
||||
@ -445,6 +447,7 @@ void nsCSSMargin::List(FILE* out, PRInt32 aIndent) const
|
||||
mOutlineWidth.AppendToString(buffer, eCSSProperty_outline_width);
|
||||
mOutlineColor.AppendToString(buffer, eCSSProperty_outline_color);
|
||||
mOutlineStyle.AppendToString(buffer, eCSSProperty_outline_style);
|
||||
mFloatEdge.AppendToString(buffer, eCSSProperty_float_edge);
|
||||
fputs(buffer, out);
|
||||
}
|
||||
|
||||
@ -463,6 +466,7 @@ nsCSSPosition::nsCSSPosition(const nsCSSPosition& aCopy)
|
||||
mHeight(aCopy.mHeight),
|
||||
mMinHeight(aCopy.mMinHeight),
|
||||
mMaxHeight(aCopy.mMaxHeight),
|
||||
mBoxSizing(aCopy.mBoxSizing),
|
||||
mOffset(nsnull),
|
||||
mZIndex(aCopy.mZIndex)
|
||||
{
|
||||
@ -492,6 +496,7 @@ void nsCSSPosition::List(FILE* out, PRInt32 aIndent) const
|
||||
mHeight.AppendToString(buffer, eCSSProperty_height);
|
||||
mMinHeight.AppendToString(buffer, eCSSProperty_min_height);
|
||||
mMaxHeight.AppendToString(buffer, eCSSProperty_max_height);
|
||||
mBoxSizing.AppendToString(buffer, eCSSProperty_box_sizing);
|
||||
mZIndex.AppendToString(buffer, eCSSProperty_z_index);
|
||||
fputs(buffer, out);
|
||||
|
||||
@ -765,6 +770,55 @@ void nsCSSContent::List(FILE* out, PRInt32 aIndent) const
|
||||
fputs(buffer, out);
|
||||
}
|
||||
|
||||
// --- nsCSSUserInterface -----------------
|
||||
|
||||
nsCSSUserInterface::nsCSSUserInterface(void)
|
||||
: mKeyEquivalent(nsnull)
|
||||
{
|
||||
}
|
||||
|
||||
nsCSSUserInterface::nsCSSUserInterface(const nsCSSUserInterface& aCopy)
|
||||
: mUserInput(aCopy.mUserInput),
|
||||
mModifyContent(aCopy.mModifyContent),
|
||||
mSelectionStyle(aCopy.mSelectionStyle),
|
||||
mAutoSelect(aCopy.mAutoSelect),
|
||||
mKeyEquivalent(nsnull),
|
||||
mAutoTab(aCopy.mAutoTab),
|
||||
mResizer(aCopy.mResizer)
|
||||
{
|
||||
CSS_IF_COPY(mKeyEquivalent, nsCSSValueList);
|
||||
}
|
||||
|
||||
nsCSSUserInterface::~nsCSSUserInterface(void)
|
||||
{
|
||||
CSS_IF_DELETE(mKeyEquivalent);
|
||||
}
|
||||
|
||||
const nsID& nsCSSUserInterface::GetID(void)
|
||||
{
|
||||
return kCSSUserInterfaceSID;
|
||||
}
|
||||
|
||||
void nsCSSUserInterface::List(FILE* out, PRInt32 aIndent) const
|
||||
{
|
||||
for (PRInt32 index = aIndent; --index >= 0; ) fputs(" ", out);
|
||||
|
||||
nsAutoString buffer;
|
||||
|
||||
mUserInput.AppendToString(buffer, eCSSProperty_user_input);
|
||||
mModifyContent.AppendToString(buffer, eCSSProperty_modify_content);
|
||||
mSelectionStyle.AppendToString(buffer, eCSSProperty_selection_style);
|
||||
mAutoSelect.AppendToString(buffer, eCSSProperty_auto_select);
|
||||
nsCSSValueList* keyEquiv = mKeyEquivalent;
|
||||
while (nsnull != keyEquiv) {
|
||||
keyEquiv->mValue.AppendToString(buffer, eCSSProperty_key_equivalent);
|
||||
keyEquiv= keyEquiv->mNext;
|
||||
}
|
||||
mAutoTab.AppendToString(buffer, eCSSProperty_auto_tab);
|
||||
mResizer.AppendToString(buffer, eCSSProperty_resizer);
|
||||
fputs(buffer, out);
|
||||
}
|
||||
|
||||
// --- nsCSSAural -----------------
|
||||
|
||||
nsCSSAural::nsCSSAural(void)
|
||||
@ -893,6 +947,7 @@ protected:
|
||||
nsCSSBreaks* mBreaks;
|
||||
nsCSSPage* mPage;
|
||||
nsCSSContent* mContent;
|
||||
nsCSSUserInterface* mUserInterface;
|
||||
nsCSSAural* mAural;
|
||||
|
||||
CSSDeclarationImpl* mImportant;
|
||||
@ -934,6 +989,7 @@ CSSDeclarationImpl::CSSDeclarationImpl(const CSSDeclarationImpl& aCopy)
|
||||
DECL_IF_COPY(Breaks);
|
||||
DECL_IF_COPY(Page);
|
||||
DECL_IF_COPY(Content);
|
||||
DECL_IF_COPY(UserInterface);
|
||||
DECL_IF_COPY(Aural);
|
||||
|
||||
if (aCopy.mImportant) {
|
||||
@ -970,6 +1026,7 @@ CSSDeclarationImpl::~CSSDeclarationImpl(void)
|
||||
CSS_IF_DELETE(mBreaks);
|
||||
CSS_IF_DELETE(mPage);
|
||||
CSS_IF_DELETE(mContent);
|
||||
CSS_IF_DELETE(mUserInterface);
|
||||
CSS_IF_DELETE(mAural);
|
||||
|
||||
NS_IF_RELEASE(mImportant);
|
||||
@ -1005,6 +1062,7 @@ CSSDeclarationImpl::GetData(const nsID& aSID, nsCSSStruct** aDataPtr)
|
||||
CSS_IF_GET_ELSE(aSID, Breaks, aDataPtr)
|
||||
CSS_IF_GET_ELSE(aSID, Page, aDataPtr)
|
||||
CSS_IF_GET_ELSE(aSID, Content, aDataPtr)
|
||||
CSS_IF_GET_ELSE(aSID, UserInterface, aDataPtr)
|
||||
CSS_IF_GET_ELSE(aSID, Aural, aDataPtr) {
|
||||
return NS_NOINTERFACE;
|
||||
}
|
||||
@ -1035,6 +1093,7 @@ CSSDeclarationImpl::EnsureData(const nsID& aSID, nsCSSStruct** aDataPtr)
|
||||
CSS_IF_ENSURE_ELSE(aSID, Breaks, aDataPtr)
|
||||
CSS_IF_ENSURE_ELSE(aSID, Page, aDataPtr)
|
||||
CSS_IF_ENSURE_ELSE(aSID, Content, aDataPtr)
|
||||
CSS_IF_ENSURE_ELSE(aSID, UserInterface, aDataPtr)
|
||||
CSS_IF_ENSURE_ELSE(aSID, Aural, aDataPtr) {
|
||||
return NS_NOINTERFACE;
|
||||
}
|
||||
@ -1071,6 +1130,8 @@ CSSDeclarationImpl::EnsureData(const nsID& aSID, nsCSSStruct** aDataPtr)
|
||||
} \
|
||||
else
|
||||
|
||||
#define CSS_BOGUS_DEFAULT default: NS_ERROR("should never happen"); break;
|
||||
|
||||
NS_IMETHODIMP
|
||||
CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValue)
|
||||
{
|
||||
@ -1094,7 +1155,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_font_size: mFont->mSize = aValue; break;
|
||||
case eCSSProperty_font_size_adjust: mFont->mSizeAdjust = aValue; break;
|
||||
case eCSSProperty_font_stretch: mFont->mStretch = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1125,7 +1186,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
}
|
||||
break;
|
||||
case eCSSProperty_opacity: mColor->mOpacity = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1153,7 +1214,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_unicode_bidi: mText->mUnicodeBidi = aValue; break;
|
||||
case eCSSProperty_line_height: mText->mLineHeight = aValue; break;
|
||||
case eCSSProperty_white_space: mText->mWhiteSpace = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1169,7 +1230,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_text_shadow_radius: mText->mTextShadow->mRadius = aValue; break;
|
||||
case eCSSProperty_text_shadow_x: mText->mTextShadow->mXOffset = aValue; break;
|
||||
case eCSSProperty_text_shadow_y: mText->mTextShadow->mYOffset = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
CSS_IF_DELETE(mText->mTextShadow->mNext);
|
||||
}
|
||||
@ -1191,7 +1252,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_direction: mDisplay->mDirection = aValue; break;
|
||||
case eCSSProperty_visibility: mDisplay->mVisibility = aValue; break;
|
||||
case eCSSProperty_overflow: mDisplay->mOverflow = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1207,7 +1268,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_clip_right: mDisplay->mClip->mRight = aValue; break;
|
||||
case eCSSProperty_clip_bottom: mDisplay->mClip->mBottom = aValue; break;
|
||||
case eCSSProperty_clip_left: mDisplay->mClip->mLeft = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1225,7 +1286,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_margin_right: mMargin->mMargin->mRight = aValue; break;
|
||||
case eCSSProperty_margin_bottom: mMargin->mMargin->mBottom = aValue; break;
|
||||
case eCSSProperty_margin_left: mMargin->mMargin->mLeft = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1242,7 +1303,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_padding_right: mMargin->mPadding->mRight = aValue; break;
|
||||
case eCSSProperty_padding_bottom: mMargin->mPadding->mBottom = aValue; break;
|
||||
case eCSSProperty_padding_left: mMargin->mPadding->mLeft = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1259,7 +1320,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_border_right_width: mMargin->mBorderWidth->mRight = aValue; break;
|
||||
case eCSSProperty_border_bottom_width: mMargin->mBorderWidth->mBottom = aValue; break;
|
||||
case eCSSProperty_border_left_width: mMargin->mBorderWidth->mLeft = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1276,7 +1337,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_border_right_color: mMargin->mBorderColor->mRight = aValue; break;
|
||||
case eCSSProperty_border_bottom_color: mMargin->mBorderColor->mBottom = aValue; break;
|
||||
case eCSSProperty_border_left_color: mMargin->mBorderColor->mLeft = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1293,7 +1354,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_border_right_style: mMargin->mBorderStyle->mRight = aValue; break;
|
||||
case eCSSProperty_border_bottom_style: mMargin->mBorderStyle->mBottom = aValue; break;
|
||||
case eCSSProperty_border_left_style: mMargin->mBorderStyle->mLeft = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1303,13 +1364,15 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_outline_width:
|
||||
case eCSSProperty_outline_color:
|
||||
case eCSSProperty_outline_style:
|
||||
case eCSSProperty_float_edge:
|
||||
CSS_ENSURE(Margin) {
|
||||
switch (aProperty) {
|
||||
case eCSSProperty__moz_border_radius: mMargin->mBorderRadius = aValue; break;
|
||||
case eCSSProperty_outline_width: mMargin->mOutlineWidth = aValue; break;
|
||||
case eCSSProperty_outline_color: mMargin->mOutlineColor = aValue; break;
|
||||
case eCSSProperty_outline_style: mMargin->mOutlineStyle = aValue; break;
|
||||
default: break;
|
||||
case eCSSProperty_float_edge: mMargin->mFloatEdge = aValue; break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1322,6 +1385,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_height:
|
||||
case eCSSProperty_min_height:
|
||||
case eCSSProperty_max_height:
|
||||
case eCSSProperty_box_sizing:
|
||||
case eCSSProperty_z_index:
|
||||
CSS_ENSURE(Position) {
|
||||
switch (aProperty) {
|
||||
@ -1332,8 +1396,9 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_height: mPosition->mHeight = aValue; break;
|
||||
case eCSSProperty_min_height: mPosition->mMinHeight = aValue; break;
|
||||
case eCSSProperty_max_height: mPosition->mMaxHeight = aValue; break;
|
||||
case eCSSProperty_box_sizing: mPosition->mBoxSizing = aValue; break;
|
||||
case eCSSProperty_z_index: mPosition->mZIndex = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1349,7 +1414,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_right: mPosition->mOffset->mRight= aValue; break;
|
||||
case eCSSProperty_bottom: mPosition->mOffset->mBottom = aValue; break;
|
||||
case eCSSProperty_left: mPosition->mOffset->mLeft = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1364,7 +1429,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_list_style_type: mList->mType = aValue; break;
|
||||
case eCSSProperty_list_style_image: mList->mImage = aValue; break;
|
||||
case eCSSProperty_list_style_position: mList->mPosition = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1384,7 +1449,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_caption_side: mTable->mCaptionSide = aValue; break;
|
||||
case eCSSProperty_empty_cells: mTable->mEmptyCells = aValue; break;
|
||||
case eCSSProperty_table_layout: mTable->mLayout = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1404,7 +1469,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_page_break_after: mBreaks->mPageBreakAfter = aValue; break;
|
||||
case eCSSProperty_page_break_before: mBreaks->mPageBreakBefore = aValue; break;
|
||||
case eCSSProperty_page_break_inside: mBreaks->mPageBreakInside = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1418,7 +1483,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_marks: mPage->mMarks = aValue; break;
|
||||
case eCSSProperty_size_width: mPage->mSizeWidth = aValue; break;
|
||||
case eCSSProperty_size_height: mPage->mSizeHeight = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1463,8 +1528,34 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
CSS_IF_DELETE(mContent->mQuotes->mNext);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
// nsCSSUserInterface
|
||||
case eCSSProperty_user_input:
|
||||
case eCSSProperty_modify_content:
|
||||
case eCSSProperty_selection_style:
|
||||
case eCSSProperty_auto_select:
|
||||
case eCSSProperty_key_equivalent:
|
||||
case eCSSProperty_auto_tab:
|
||||
case eCSSProperty_resizer:
|
||||
CSS_ENSURE(UserInterface) {
|
||||
switch (aProperty) {
|
||||
case eCSSProperty_user_input: mUserInterface->mUserInput = aValue; break;
|
||||
case eCSSProperty_modify_content: mUserInterface->mModifyContent = aValue; break;
|
||||
case eCSSProperty_selection_style: mUserInterface->mSelectionStyle = aValue; break;
|
||||
case eCSSProperty_auto_select: mUserInterface->mAutoSelect = aValue; break;
|
||||
case eCSSProperty_key_equivalent:
|
||||
CSS_ENSURE_DATA(mUserInterface->mKeyEquivalent, nsCSSValueList) {
|
||||
mUserInterface->mKeyEquivalent->mValue = aValue;
|
||||
CSS_IF_DELETE(mUserInterface->mKeyEquivalent->mNext);
|
||||
}
|
||||
break;
|
||||
case eCSSProperty_auto_tab: mUserInterface->mAutoTab = aValue; break;
|
||||
case eCSSProperty_resizer: mUserInterface->mResizer = aValue; break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1510,7 +1601,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_stress: mAural->mStress = aValue; break;
|
||||
case eCSSProperty_voice_family: mAural->mVoiceFamily = aValue; break;
|
||||
case eCSSProperty_volume: mAural->mVolume = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1539,7 +1630,9 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_border_style:
|
||||
case eCSSProperty_border_width:
|
||||
NS_ERROR("can't append shorthand properties");
|
||||
default:
|
||||
// default: // XXX explicitly removing default case so compiler will help find missed props
|
||||
case eCSSProperty_UNKNOWN:
|
||||
case eCSSProperty_COUNT:
|
||||
result = NS_ERROR_ILLEGAL_VALUE;
|
||||
break;
|
||||
}
|
||||
@ -1612,6 +1705,13 @@ CSSDeclarationImpl::AppendStructValue(nsCSSProperty aProperty, void* aStruct)
|
||||
}
|
||||
break;
|
||||
|
||||
case eCSSProperty_key_equivalent:
|
||||
CSS_ENSURE(UserInterface) {
|
||||
CSS_IF_DELETE(mUserInterface->mKeyEquivalent);
|
||||
mUserInterface->mKeyEquivalent = (nsCSSValueList*)aStruct;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
NS_ERROR("not a struct property");
|
||||
result = NS_ERROR_ILLEGAL_VALUE;
|
||||
@ -1680,7 +1780,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_font_size, mFont->mSize);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_font_size_adjust, mFont->mSizeAdjust);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_font_stretch, mFont->mStretch);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1706,7 +1806,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_background_x_position, mColor->mBackPositionX);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_background_y_position, mColor->mBackPositionY);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_opacity, mColor->mOpacity);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1748,7 +1848,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_unicode_bidi, mText->mUnicodeBidi);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_line_height, mText->mLineHeight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_white_space, mText->mWhiteSpace);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1782,7 +1882,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_clear, mDisplay->mClear);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_overflow, mDisplay->mOverflow);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_visibility, mDisplay->mVisibility);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1801,7 +1901,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_clip_right, mDisplay->mClip->mRight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_clip_bottom, mDisplay->mClip->mBottom);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_clip_left, mDisplay->mClip->mLeft);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1823,7 +1923,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_margin_right, mMargin->mMargin->mRight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_margin_bottom, mMargin->mMargin->mBottom);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_margin_left, mMargin->mMargin->mLeft);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1844,7 +1944,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_padding_right, mMargin->mPadding->mRight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_padding_bottom, mMargin->mPadding->mBottom);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_padding_left, mMargin->mPadding->mLeft);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1865,7 +1965,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_border_right_width, mMargin->mBorderWidth->mRight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_border_bottom_width, mMargin->mBorderWidth->mBottom);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_border_left_width, mMargin->mBorderWidth->mLeft);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1886,7 +1986,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_border_right_color, mMargin->mBorderColor->mRight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_border_bottom_color, mMargin->mBorderColor->mBottom);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_border_left_color, mMargin->mBorderColor->mLeft);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1907,7 +2007,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_border_right_style, mMargin->mBorderStyle->mRight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_border_bottom_style, mMargin->mBorderStyle->mBottom);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_border_left_style, mMargin->mBorderStyle->mLeft);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1919,6 +2019,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
case eCSSProperty_outline_width:
|
||||
case eCSSProperty_outline_color:
|
||||
case eCSSProperty_outline_style:
|
||||
case eCSSProperty_float_edge:
|
||||
if (nsnull != mMargin) {
|
||||
CSS_ENSURE_IMPORTANT(Margin) {
|
||||
switch (aProperty) {
|
||||
@ -1926,7 +2027,8 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_outline_width, mMargin->mOutlineWidth);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_outline_color, mMargin->mOutlineColor);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_outline_style, mMargin->mOutlineStyle);
|
||||
default: break;
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_float_edge, mMargin->mFloatEdge);
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1940,6 +2042,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
case eCSSProperty_height:
|
||||
case eCSSProperty_min_height:
|
||||
case eCSSProperty_max_height:
|
||||
case eCSSProperty_box_sizing:
|
||||
case eCSSProperty_z_index:
|
||||
if (nsnull != mPosition) {
|
||||
CSS_ENSURE_IMPORTANT(Position) {
|
||||
@ -1951,8 +2054,9 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_height, mPosition->mHeight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_min_height, mPosition->mMinHeight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_max_height, mPosition->mMaxHeight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_box_sizing, mPosition->mBoxSizing);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_z_index, mPosition->mZIndex);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1971,7 +2075,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_right, mPosition->mOffset->mRight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_bottom, mPosition->mOffset->mBottom);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_left, mPosition->mOffset->mLeft);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1989,7 +2093,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_list_style_type, mList->mType);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_list_style_image, mList->mImage);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_list_style_position, mList->mPosition);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2011,7 +2115,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_caption_side, mTable->mCaptionSide);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_empty_cells, mTable->mEmptyCells);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_table_layout, mTable->mLayout);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2033,7 +2137,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_page_break_after, mBreaks->mPageBreakAfter);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_page_break_before, mBreaks->mPageBreakBefore);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_page_break_inside, mBreaks->mPageBreakInside);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2049,7 +2153,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_marks, mPage->mMarks);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_size_width, mPage->mSizeWidth);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_size_height, mPage->mSizeHeight);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2097,7 +2201,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_ENSURE_IMPORTANT(Content) {
|
||||
switch (aProperty) {
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_marker_offset, mContent->mMarkerOffset);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2115,6 +2219,40 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
}
|
||||
break;
|
||||
|
||||
// nsCSSUserInterface
|
||||
case eCSSProperty_user_input:
|
||||
case eCSSProperty_modify_content:
|
||||
case eCSSProperty_selection_style:
|
||||
case eCSSProperty_auto_select:
|
||||
case eCSSProperty_auto_tab:
|
||||
case eCSSProperty_resizer:
|
||||
if (nsnull != mUserInterface) {
|
||||
CSS_ENSURE_IMPORTANT(UserInterface) {
|
||||
switch (aProperty) {
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_user_input, mUserInterface->mUserInput);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_modify_content, mUserInterface->mModifyContent);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_selection_style, mUserInterface->mSelectionStyle);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_auto_select, mUserInterface->mAutoSelect);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_auto_tab, mUserInterface->mAutoTab);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_resizer, mUserInterface->mResizer);
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case eCSSProperty_key_equivalent:
|
||||
if (nsnull != mUserInterface) {
|
||||
if (nsnull != mUserInterface->mKeyEquivalent) {
|
||||
CSS_ENSURE_IMPORTANT(UserInterface) {
|
||||
CSS_IF_DELETE(mImportant->mUserInterface->mKeyEquivalent);
|
||||
mImportant->mUserInterface->mKeyEquivalent = mUserInterface->mKeyEquivalent;
|
||||
mUserInterface->mKeyEquivalent = nsnull;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
// nsCSSAural
|
||||
case eCSSProperty_azimuth:
|
||||
case eCSSProperty_elevation:
|
||||
@ -2153,7 +2291,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_stress, mAural->mStress);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_voice_family, mAural->mVoiceFamily);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_volume, mAural->mVolume);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2336,7 +2474,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_font_size: aValue = mFont->mSize; break;
|
||||
case eCSSProperty_font_size_adjust: aValue = mFont->mSizeAdjust; break;
|
||||
case eCSSProperty_font_stretch: aValue = mFont->mStretch; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2369,7 +2507,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
}
|
||||
break;
|
||||
case eCSSProperty_opacity: aValue = mColor->mOpacity; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2400,7 +2538,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_unicode_bidi: aValue = mText->mUnicodeBidi; break;
|
||||
case eCSSProperty_line_height: aValue = mText->mLineHeight; break;
|
||||
case eCSSProperty_white_space: aValue = mText->mWhiteSpace; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2418,7 +2556,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_text_shadow_x: aValue = mText->mTextShadow->mXOffset; break;
|
||||
case eCSSProperty_text_shadow_y: aValue = mText->mTextShadow->mYOffset; break;
|
||||
case eCSSProperty_text_shadow_radius: aValue = mText->mTextShadow->mRadius; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -2438,7 +2576,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_direction: aValue = mDisplay->mDirection; break;
|
||||
case eCSSProperty_visibility: aValue = mDisplay->mVisibility; break;
|
||||
case eCSSProperty_overflow: aValue = mDisplay->mOverflow; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2456,8 +2594,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_clip_right: aValue = mDisplay->mClip->mRight; break;
|
||||
case eCSSProperty_clip_bottom: aValue = mDisplay->mClip->mBottom; break;
|
||||
case eCSSProperty_clip_left: aValue = mDisplay->mClip->mLeft; break;
|
||||
default:
|
||||
break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2476,7 +2613,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_margin_right: aValue = mMargin->mMargin->mRight; break;
|
||||
case eCSSProperty_margin_bottom: aValue = mMargin->mMargin->mBottom; break;
|
||||
case eCSSProperty_margin_left: aValue = mMargin->mMargin->mLeft; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2494,7 +2631,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_padding_right: aValue = mMargin->mPadding->mRight; break;
|
||||
case eCSSProperty_padding_bottom: aValue = mMargin->mPadding->mBottom; break;
|
||||
case eCSSProperty_padding_left: aValue = mMargin->mPadding->mLeft; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2512,7 +2649,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_border_right_width: aValue = mMargin->mBorderWidth->mRight; break;
|
||||
case eCSSProperty_border_bottom_width: aValue = mMargin->mBorderWidth->mBottom; break;
|
||||
case eCSSProperty_border_left_width: aValue = mMargin->mBorderWidth->mLeft; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2530,7 +2667,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_border_right_color: aValue = mMargin->mBorderColor->mRight; break;
|
||||
case eCSSProperty_border_bottom_color: aValue = mMargin->mBorderColor->mBottom; break;
|
||||
case eCSSProperty_border_left_color: aValue = mMargin->mBorderColor->mLeft; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2548,7 +2685,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_border_right_style: aValue = mMargin->mBorderStyle->mRight; break;
|
||||
case eCSSProperty_border_bottom_style: aValue = mMargin->mBorderStyle->mBottom; break;
|
||||
case eCSSProperty_border_left_style: aValue = mMargin->mBorderStyle->mLeft; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2560,13 +2697,15 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_outline_width:
|
||||
case eCSSProperty_outline_color:
|
||||
case eCSSProperty_outline_style:
|
||||
case eCSSProperty_float_edge:
|
||||
if (nsnull != mMargin) {
|
||||
switch (aProperty) {
|
||||
case eCSSProperty__moz_border_radius: aValue = mMargin->mBorderRadius; break;
|
||||
case eCSSProperty_outline_width: aValue = mMargin->mOutlineWidth; break;
|
||||
case eCSSProperty_outline_color: aValue = mMargin->mOutlineColor; break;
|
||||
case eCSSProperty_outline_style: aValue = mMargin->mOutlineStyle; break;
|
||||
default: break;
|
||||
case eCSSProperty_float_edge: aValue = mMargin->mFloatEdge; break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2582,6 +2721,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_height:
|
||||
case eCSSProperty_min_height:
|
||||
case eCSSProperty_max_height:
|
||||
case eCSSProperty_box_sizing:
|
||||
case eCSSProperty_z_index:
|
||||
if (nsnull != mPosition) {
|
||||
switch (aProperty) {
|
||||
@ -2592,8 +2732,9 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_height: aValue = mPosition->mHeight; break;
|
||||
case eCSSProperty_min_height: aValue = mPosition->mMinHeight; break;
|
||||
case eCSSProperty_max_height: aValue = mPosition->mMaxHeight; break;
|
||||
case eCSSProperty_box_sizing: aValue = mPosition->mBoxSizing; break;
|
||||
case eCSSProperty_z_index: aValue = mPosition->mZIndex; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2611,7 +2752,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_right: aValue = mPosition->mOffset->mRight; break;
|
||||
case eCSSProperty_bottom: aValue = mPosition->mOffset->mBottom; break;
|
||||
case eCSSProperty_left: aValue = mPosition->mOffset->mLeft; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2628,7 +2769,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_list_style_type: aValue = mList->mType; break;
|
||||
case eCSSProperty_list_style_image: aValue = mList->mImage; break;
|
||||
case eCSSProperty_list_style_position: aValue = mList->mPosition; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2651,7 +2792,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_caption_side: aValue = mTable->mCaptionSide; break;
|
||||
case eCSSProperty_empty_cells: aValue = mTable->mEmptyCells; break;
|
||||
case eCSSProperty_table_layout: aValue = mTable->mLayout; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2674,7 +2815,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_page_break_after: aValue = mBreaks->mPageBreakAfter; break;
|
||||
case eCSSProperty_page_break_before: aValue = mBreaks->mPageBreakBefore; break;
|
||||
case eCSSProperty_page_break_inside: aValue = mBreaks->mPageBreakInside; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2691,7 +2832,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_marks: aValue = mPage->mMarks; break;
|
||||
case eCSSProperty_size_width: aValue = mPage->mSizeWidth; break;
|
||||
case eCSSProperty_size_height: aValue = mPage->mSizeHeight; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2734,8 +2875,36 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
aValue = mContent->mQuotes->mClose;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
aValue.Reset();
|
||||
}
|
||||
break;
|
||||
|
||||
// nsCSSUserInterface
|
||||
case eCSSProperty_user_input:
|
||||
case eCSSProperty_modify_content:
|
||||
case eCSSProperty_selection_style:
|
||||
case eCSSProperty_auto_select:
|
||||
case eCSSProperty_key_equivalent:
|
||||
case eCSSProperty_auto_tab:
|
||||
case eCSSProperty_resizer:
|
||||
if (nsnull != mUserInterface) {
|
||||
switch (aProperty) {
|
||||
case eCSSProperty_user_input: aValue = mUserInterface->mUserInput; break;
|
||||
case eCSSProperty_modify_content: aValue = mUserInterface->mModifyContent; break;
|
||||
case eCSSProperty_selection_style: aValue = mUserInterface->mSelectionStyle; break;
|
||||
case eCSSProperty_auto_select: aValue = mUserInterface->mAutoSelect; break;
|
||||
case eCSSProperty_key_equivalent:
|
||||
if (nsnull != mUserInterface->mKeyEquivalent) {
|
||||
aValue = mUserInterface->mKeyEquivalent->mValue;
|
||||
}
|
||||
break;
|
||||
case eCSSProperty_auto_tab: aValue = mUserInterface->mAutoTab; break;
|
||||
case eCSSProperty_resizer: aValue = mUserInterface->mResizer; break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2784,7 +2953,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_stress: aValue = mAural->mStress; break;
|
||||
case eCSSProperty_voice_family: aValue = mAural->mVoiceFamily; break;
|
||||
case eCSSProperty_volume: aValue = mAural->mVolume; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -3256,6 +3425,18 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsString& aValue)
|
||||
} while (nsnull != quotes);
|
||||
}
|
||||
break;
|
||||
case eCSSProperty_key_equivalent:
|
||||
if ((nsnull != mUserInterface) && (nsnull != mUserInterface->mKeyEquivalent)) {
|
||||
nsCSSValueList* keyEquiv = mUserInterface->mKeyEquivalent;
|
||||
do {
|
||||
AppendValueToString(eCSSProperty_key_equivalent, keyEquiv->mValue, aValue);
|
||||
keyEquiv = keyEquiv->mNext;
|
||||
if (nsnull != keyEquiv) {
|
||||
aValue.Append(' ');
|
||||
}
|
||||
} while (nsnull != keyEquiv);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
AppendValueToString(aProperty, aValue);
|
||||
break;
|
||||
@ -3375,6 +3556,9 @@ void CSSDeclarationImpl::List(FILE* out, PRInt32 aIndent) const
|
||||
if (nsnull != mContent) {
|
||||
mContent->List(out);
|
||||
}
|
||||
if (nsnull != mUserInterface) {
|
||||
mUserInterface->List(out);
|
||||
}
|
||||
if (nsnull != mAural) {
|
||||
mAural->List(out);
|
||||
}
|
||||
|
||||
@ -2588,6 +2588,15 @@ PRBool CSSParserImpl::ParseProperty(PRInt32& aErrorCode,
|
||||
case eCSSProperty_clip_left:
|
||||
case eCSSProperty_clip_right:
|
||||
case eCSSProperty_clip_top:
|
||||
case eCSSProperty_play_during_flags:
|
||||
case eCSSProperty_quotes_close:
|
||||
case eCSSProperty_quotes_open:
|
||||
case eCSSProperty_size_height:
|
||||
case eCSSProperty_size_width:
|
||||
case eCSSProperty_text_shadow_color:
|
||||
case eCSSProperty_text_shadow_radius:
|
||||
case eCSSProperty_text_shadow_x:
|
||||
case eCSSProperty_text_shadow_y:
|
||||
// The user can't use these
|
||||
return PR_FALSE;
|
||||
default:
|
||||
@ -2700,6 +2709,7 @@ PRBool CSSParserImpl::ParseSingleValueProperty(PRInt32& aErrorCode,
|
||||
nsCSSProperty aPropID)
|
||||
{
|
||||
switch (aPropID) {
|
||||
case eCSSProperty_UNKNOWN:
|
||||
case eCSSProperty_background:
|
||||
case eCSSProperty_background_position:
|
||||
case eCSSProperty_border:
|
||||
@ -2723,12 +2733,38 @@ PRBool CSSParserImpl::ParseSingleValueProperty(PRInt32& aErrorCode,
|
||||
case eCSSProperty_outline:
|
||||
case eCSSProperty_padding:
|
||||
case eCSSProperty_pause:
|
||||
case eCSSProperty_play_during:
|
||||
case eCSSProperty_quotes:
|
||||
case eCSSProperty_size:
|
||||
case eCSSProperty_text_shadow:
|
||||
case eCSSProperty_COUNT:
|
||||
NS_ERROR("not a single value property");
|
||||
return PR_FALSE;
|
||||
|
||||
case eCSSProperty_border_x_spacing:
|
||||
case eCSSProperty_border_y_spacing:
|
||||
case eCSSProperty_clip_bottom:
|
||||
case eCSSProperty_clip_left:
|
||||
case eCSSProperty_clip_right:
|
||||
case eCSSProperty_clip_top:
|
||||
case eCSSProperty_play_during_flags:
|
||||
case eCSSProperty_quotes_close:
|
||||
case eCSSProperty_quotes_open:
|
||||
case eCSSProperty_size_height:
|
||||
case eCSSProperty_size_width:
|
||||
case eCSSProperty_text_shadow_color:
|
||||
case eCSSProperty_text_shadow_radius:
|
||||
case eCSSProperty_text_shadow_x:
|
||||
case eCSSProperty_text_shadow_y:
|
||||
NS_ERROR("not currently parsed here");
|
||||
return PR_FALSE;
|
||||
|
||||
case eCSSProperty_auto_select:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_HOK,
|
||||
nsCSSProps::kAutoSelectKTable);
|
||||
case eCSSProperty_auto_tab:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_AHK | VARIANT_NONE,
|
||||
nsCSSProps::kAutoTabKTable);
|
||||
case eCSSProperty_azimuth:
|
||||
return ParseAzimuth(aErrorCode, aValue);
|
||||
case eCSSProperty_background_attachment:
|
||||
@ -2774,6 +2810,9 @@ PRBool CSSParserImpl::ParseSingleValueProperty(PRInt32& aErrorCode,
|
||||
case eCSSProperty_left:
|
||||
case eCSSProperty_right:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_AHLP, nsnull);
|
||||
case eCSSProperty_box_sizing:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_HK,
|
||||
nsCSSProps::kBoxSizingKTable);
|
||||
case eCSSProperty_height:
|
||||
case eCSSProperty_width:
|
||||
return ParsePositiveVariant(aErrorCode, aValue, VARIANT_AHLP, nsnull);
|
||||
@ -2803,6 +2842,9 @@ PRBool CSSParserImpl::ParseSingleValueProperty(PRInt32& aErrorCode,
|
||||
case eCSSProperty_float:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_HOK,
|
||||
nsCSSProps::kFloatKTable);
|
||||
case eCSSProperty_float_edge:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_HK,
|
||||
nsCSSProps::kFloatEdgeKTable);
|
||||
case eCSSProperty_font_family:
|
||||
return ParseFamily(aErrorCode, aValue);
|
||||
case eCSSProperty_font_size:
|
||||
@ -2826,6 +2868,9 @@ PRBool CSSParserImpl::ParseSingleValueProperty(PRInt32& aErrorCode,
|
||||
case eCSSProperty_letter_spacing:
|
||||
case eCSSProperty_word_spacing:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_HL | VARIANT_NORMAL, nsnull);
|
||||
case eCSSProperty_key_equivalent:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_HOK,
|
||||
nsCSSProps::kKeyEquivalentKTable);
|
||||
case eCSSProperty_line_height:
|
||||
return ParsePositiveVariant(aErrorCode, aValue, VARIANT_HLPN | VARIANT_NORMAL, nsnull);
|
||||
case eCSSProperty_list_style_image:
|
||||
@ -2849,6 +2894,9 @@ PRBool CSSParserImpl::ParseSingleValueProperty(PRInt32& aErrorCode,
|
||||
case eCSSProperty_min_height:
|
||||
case eCSSProperty_min_width:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_HLP, nsnull);
|
||||
case eCSSProperty_modify_content:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_HK,
|
||||
nsCSSProps::kModifyContentKTable);
|
||||
case eCSSProperty_opacity:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_HPN, nsnull);
|
||||
case eCSSProperty_orphans:
|
||||
@ -2889,8 +2937,14 @@ PRBool CSSParserImpl::ParseSingleValueProperty(PRInt32& aErrorCode,
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_HN, nsnull);
|
||||
case eCSSProperty_position:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_HK, nsCSSProps::kPositionKTable);
|
||||
case eCSSProperty_resizer:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_AHK | VARIANT_NONE,
|
||||
nsCSSProps::kResizerKTable);
|
||||
case eCSSProperty_richness:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_HN, nsnull);
|
||||
case eCSSProperty_selection_style:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_HOK,
|
||||
nsCSSProps::kSelectionStyleKTable);
|
||||
case eCSSProperty_speak:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_HMK | VARIANT_NONE,
|
||||
nsCSSProps::kSpeakKTable);
|
||||
@ -2924,6 +2978,9 @@ PRBool CSSParserImpl::ParseSingleValueProperty(PRInt32& aErrorCode,
|
||||
case eCSSProperty_unicode_bidi:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_HMK,
|
||||
nsCSSProps::kUnicodeBidiKTable);
|
||||
case eCSSProperty_user_input:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_AHK | VARIANT_NONE,
|
||||
nsCSSProps::kUserInputKTable);
|
||||
case eCSSProperty_vertical_align:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_HKLP,
|
||||
nsCSSProps::kVerticalAlignKTable);
|
||||
@ -2940,9 +2997,9 @@ PRBool CSSParserImpl::ParseSingleValueProperty(PRInt32& aErrorCode,
|
||||
nsCSSProps::kWhitespaceKTable);
|
||||
case eCSSProperty_z_index:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_AHI, nsnull);
|
||||
default:
|
||||
break;
|
||||
}
|
||||
// explicitly do NOT have a default case to let the compiler
|
||||
// help find missing properties
|
||||
return PR_FALSE;
|
||||
}
|
||||
|
||||
|
||||
@ -38,6 +38,7 @@ static NS_DEFINE_IID(kCSSTableSID, NS_CSS_TABLE_SID);
|
||||
static NS_DEFINE_IID(kCSSBreaksSID, NS_CSS_BREAKS_SID);
|
||||
static NS_DEFINE_IID(kCSSPageSID, NS_CSS_PAGE_SID);
|
||||
static NS_DEFINE_IID(kCSSContentSID, NS_CSS_CONTENT_SID);
|
||||
static NS_DEFINE_IID(kCSSUserInterfaceSID, NS_CSS_USER_INTERFACE_SID);
|
||||
static NS_DEFINE_IID(kCSSAuralSID, NS_CSS_AURAL_SID);
|
||||
static NS_DEFINE_IID(kICSSDeclarationIID, NS_ICSS_DECLARATION_IID);
|
||||
|
||||
@ -379,7 +380,8 @@ nsCSSMargin::nsCSSMargin(const nsCSSMargin& aCopy)
|
||||
mBorderRadius(aCopy.mBorderRadius),
|
||||
mOutlineWidth(aCopy.mOutlineWidth),
|
||||
mOutlineColor(aCopy.mOutlineColor),
|
||||
mOutlineStyle(aCopy.mOutlineStyle)
|
||||
mOutlineStyle(aCopy.mOutlineStyle),
|
||||
mFloatEdge(aCopy.mFloatEdge)
|
||||
{
|
||||
CSS_IF_COPY(mMargin, nsCSSRect);
|
||||
CSS_IF_COPY(mPadding, nsCSSRect);
|
||||
@ -445,6 +447,7 @@ void nsCSSMargin::List(FILE* out, PRInt32 aIndent) const
|
||||
mOutlineWidth.AppendToString(buffer, eCSSProperty_outline_width);
|
||||
mOutlineColor.AppendToString(buffer, eCSSProperty_outline_color);
|
||||
mOutlineStyle.AppendToString(buffer, eCSSProperty_outline_style);
|
||||
mFloatEdge.AppendToString(buffer, eCSSProperty_float_edge);
|
||||
fputs(buffer, out);
|
||||
}
|
||||
|
||||
@ -463,6 +466,7 @@ nsCSSPosition::nsCSSPosition(const nsCSSPosition& aCopy)
|
||||
mHeight(aCopy.mHeight),
|
||||
mMinHeight(aCopy.mMinHeight),
|
||||
mMaxHeight(aCopy.mMaxHeight),
|
||||
mBoxSizing(aCopy.mBoxSizing),
|
||||
mOffset(nsnull),
|
||||
mZIndex(aCopy.mZIndex)
|
||||
{
|
||||
@ -492,6 +496,7 @@ void nsCSSPosition::List(FILE* out, PRInt32 aIndent) const
|
||||
mHeight.AppendToString(buffer, eCSSProperty_height);
|
||||
mMinHeight.AppendToString(buffer, eCSSProperty_min_height);
|
||||
mMaxHeight.AppendToString(buffer, eCSSProperty_max_height);
|
||||
mBoxSizing.AppendToString(buffer, eCSSProperty_box_sizing);
|
||||
mZIndex.AppendToString(buffer, eCSSProperty_z_index);
|
||||
fputs(buffer, out);
|
||||
|
||||
@ -765,6 +770,55 @@ void nsCSSContent::List(FILE* out, PRInt32 aIndent) const
|
||||
fputs(buffer, out);
|
||||
}
|
||||
|
||||
// --- nsCSSUserInterface -----------------
|
||||
|
||||
nsCSSUserInterface::nsCSSUserInterface(void)
|
||||
: mKeyEquivalent(nsnull)
|
||||
{
|
||||
}
|
||||
|
||||
nsCSSUserInterface::nsCSSUserInterface(const nsCSSUserInterface& aCopy)
|
||||
: mUserInput(aCopy.mUserInput),
|
||||
mModifyContent(aCopy.mModifyContent),
|
||||
mSelectionStyle(aCopy.mSelectionStyle),
|
||||
mAutoSelect(aCopy.mAutoSelect),
|
||||
mKeyEquivalent(nsnull),
|
||||
mAutoTab(aCopy.mAutoTab),
|
||||
mResizer(aCopy.mResizer)
|
||||
{
|
||||
CSS_IF_COPY(mKeyEquivalent, nsCSSValueList);
|
||||
}
|
||||
|
||||
nsCSSUserInterface::~nsCSSUserInterface(void)
|
||||
{
|
||||
CSS_IF_DELETE(mKeyEquivalent);
|
||||
}
|
||||
|
||||
const nsID& nsCSSUserInterface::GetID(void)
|
||||
{
|
||||
return kCSSUserInterfaceSID;
|
||||
}
|
||||
|
||||
void nsCSSUserInterface::List(FILE* out, PRInt32 aIndent) const
|
||||
{
|
||||
for (PRInt32 index = aIndent; --index >= 0; ) fputs(" ", out);
|
||||
|
||||
nsAutoString buffer;
|
||||
|
||||
mUserInput.AppendToString(buffer, eCSSProperty_user_input);
|
||||
mModifyContent.AppendToString(buffer, eCSSProperty_modify_content);
|
||||
mSelectionStyle.AppendToString(buffer, eCSSProperty_selection_style);
|
||||
mAutoSelect.AppendToString(buffer, eCSSProperty_auto_select);
|
||||
nsCSSValueList* keyEquiv = mKeyEquivalent;
|
||||
while (nsnull != keyEquiv) {
|
||||
keyEquiv->mValue.AppendToString(buffer, eCSSProperty_key_equivalent);
|
||||
keyEquiv= keyEquiv->mNext;
|
||||
}
|
||||
mAutoTab.AppendToString(buffer, eCSSProperty_auto_tab);
|
||||
mResizer.AppendToString(buffer, eCSSProperty_resizer);
|
||||
fputs(buffer, out);
|
||||
}
|
||||
|
||||
// --- nsCSSAural -----------------
|
||||
|
||||
nsCSSAural::nsCSSAural(void)
|
||||
@ -893,6 +947,7 @@ protected:
|
||||
nsCSSBreaks* mBreaks;
|
||||
nsCSSPage* mPage;
|
||||
nsCSSContent* mContent;
|
||||
nsCSSUserInterface* mUserInterface;
|
||||
nsCSSAural* mAural;
|
||||
|
||||
CSSDeclarationImpl* mImportant;
|
||||
@ -934,6 +989,7 @@ CSSDeclarationImpl::CSSDeclarationImpl(const CSSDeclarationImpl& aCopy)
|
||||
DECL_IF_COPY(Breaks);
|
||||
DECL_IF_COPY(Page);
|
||||
DECL_IF_COPY(Content);
|
||||
DECL_IF_COPY(UserInterface);
|
||||
DECL_IF_COPY(Aural);
|
||||
|
||||
if (aCopy.mImportant) {
|
||||
@ -970,6 +1026,7 @@ CSSDeclarationImpl::~CSSDeclarationImpl(void)
|
||||
CSS_IF_DELETE(mBreaks);
|
||||
CSS_IF_DELETE(mPage);
|
||||
CSS_IF_DELETE(mContent);
|
||||
CSS_IF_DELETE(mUserInterface);
|
||||
CSS_IF_DELETE(mAural);
|
||||
|
||||
NS_IF_RELEASE(mImportant);
|
||||
@ -1005,6 +1062,7 @@ CSSDeclarationImpl::GetData(const nsID& aSID, nsCSSStruct** aDataPtr)
|
||||
CSS_IF_GET_ELSE(aSID, Breaks, aDataPtr)
|
||||
CSS_IF_GET_ELSE(aSID, Page, aDataPtr)
|
||||
CSS_IF_GET_ELSE(aSID, Content, aDataPtr)
|
||||
CSS_IF_GET_ELSE(aSID, UserInterface, aDataPtr)
|
||||
CSS_IF_GET_ELSE(aSID, Aural, aDataPtr) {
|
||||
return NS_NOINTERFACE;
|
||||
}
|
||||
@ -1035,6 +1093,7 @@ CSSDeclarationImpl::EnsureData(const nsID& aSID, nsCSSStruct** aDataPtr)
|
||||
CSS_IF_ENSURE_ELSE(aSID, Breaks, aDataPtr)
|
||||
CSS_IF_ENSURE_ELSE(aSID, Page, aDataPtr)
|
||||
CSS_IF_ENSURE_ELSE(aSID, Content, aDataPtr)
|
||||
CSS_IF_ENSURE_ELSE(aSID, UserInterface, aDataPtr)
|
||||
CSS_IF_ENSURE_ELSE(aSID, Aural, aDataPtr) {
|
||||
return NS_NOINTERFACE;
|
||||
}
|
||||
@ -1071,6 +1130,8 @@ CSSDeclarationImpl::EnsureData(const nsID& aSID, nsCSSStruct** aDataPtr)
|
||||
} \
|
||||
else
|
||||
|
||||
#define CSS_BOGUS_DEFAULT default: NS_ERROR("should never happen"); break;
|
||||
|
||||
NS_IMETHODIMP
|
||||
CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValue)
|
||||
{
|
||||
@ -1094,7 +1155,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_font_size: mFont->mSize = aValue; break;
|
||||
case eCSSProperty_font_size_adjust: mFont->mSizeAdjust = aValue; break;
|
||||
case eCSSProperty_font_stretch: mFont->mStretch = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1125,7 +1186,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
}
|
||||
break;
|
||||
case eCSSProperty_opacity: mColor->mOpacity = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1153,7 +1214,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_unicode_bidi: mText->mUnicodeBidi = aValue; break;
|
||||
case eCSSProperty_line_height: mText->mLineHeight = aValue; break;
|
||||
case eCSSProperty_white_space: mText->mWhiteSpace = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1169,7 +1230,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_text_shadow_radius: mText->mTextShadow->mRadius = aValue; break;
|
||||
case eCSSProperty_text_shadow_x: mText->mTextShadow->mXOffset = aValue; break;
|
||||
case eCSSProperty_text_shadow_y: mText->mTextShadow->mYOffset = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
CSS_IF_DELETE(mText->mTextShadow->mNext);
|
||||
}
|
||||
@ -1191,7 +1252,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_direction: mDisplay->mDirection = aValue; break;
|
||||
case eCSSProperty_visibility: mDisplay->mVisibility = aValue; break;
|
||||
case eCSSProperty_overflow: mDisplay->mOverflow = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1207,7 +1268,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_clip_right: mDisplay->mClip->mRight = aValue; break;
|
||||
case eCSSProperty_clip_bottom: mDisplay->mClip->mBottom = aValue; break;
|
||||
case eCSSProperty_clip_left: mDisplay->mClip->mLeft = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1225,7 +1286,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_margin_right: mMargin->mMargin->mRight = aValue; break;
|
||||
case eCSSProperty_margin_bottom: mMargin->mMargin->mBottom = aValue; break;
|
||||
case eCSSProperty_margin_left: mMargin->mMargin->mLeft = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1242,7 +1303,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_padding_right: mMargin->mPadding->mRight = aValue; break;
|
||||
case eCSSProperty_padding_bottom: mMargin->mPadding->mBottom = aValue; break;
|
||||
case eCSSProperty_padding_left: mMargin->mPadding->mLeft = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1259,7 +1320,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_border_right_width: mMargin->mBorderWidth->mRight = aValue; break;
|
||||
case eCSSProperty_border_bottom_width: mMargin->mBorderWidth->mBottom = aValue; break;
|
||||
case eCSSProperty_border_left_width: mMargin->mBorderWidth->mLeft = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1276,7 +1337,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_border_right_color: mMargin->mBorderColor->mRight = aValue; break;
|
||||
case eCSSProperty_border_bottom_color: mMargin->mBorderColor->mBottom = aValue; break;
|
||||
case eCSSProperty_border_left_color: mMargin->mBorderColor->mLeft = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1293,7 +1354,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_border_right_style: mMargin->mBorderStyle->mRight = aValue; break;
|
||||
case eCSSProperty_border_bottom_style: mMargin->mBorderStyle->mBottom = aValue; break;
|
||||
case eCSSProperty_border_left_style: mMargin->mBorderStyle->mLeft = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1303,13 +1364,15 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_outline_width:
|
||||
case eCSSProperty_outline_color:
|
||||
case eCSSProperty_outline_style:
|
||||
case eCSSProperty_float_edge:
|
||||
CSS_ENSURE(Margin) {
|
||||
switch (aProperty) {
|
||||
case eCSSProperty__moz_border_radius: mMargin->mBorderRadius = aValue; break;
|
||||
case eCSSProperty_outline_width: mMargin->mOutlineWidth = aValue; break;
|
||||
case eCSSProperty_outline_color: mMargin->mOutlineColor = aValue; break;
|
||||
case eCSSProperty_outline_style: mMargin->mOutlineStyle = aValue; break;
|
||||
default: break;
|
||||
case eCSSProperty_float_edge: mMargin->mFloatEdge = aValue; break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1322,6 +1385,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_height:
|
||||
case eCSSProperty_min_height:
|
||||
case eCSSProperty_max_height:
|
||||
case eCSSProperty_box_sizing:
|
||||
case eCSSProperty_z_index:
|
||||
CSS_ENSURE(Position) {
|
||||
switch (aProperty) {
|
||||
@ -1332,8 +1396,9 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_height: mPosition->mHeight = aValue; break;
|
||||
case eCSSProperty_min_height: mPosition->mMinHeight = aValue; break;
|
||||
case eCSSProperty_max_height: mPosition->mMaxHeight = aValue; break;
|
||||
case eCSSProperty_box_sizing: mPosition->mBoxSizing = aValue; break;
|
||||
case eCSSProperty_z_index: mPosition->mZIndex = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1349,7 +1414,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_right: mPosition->mOffset->mRight= aValue; break;
|
||||
case eCSSProperty_bottom: mPosition->mOffset->mBottom = aValue; break;
|
||||
case eCSSProperty_left: mPosition->mOffset->mLeft = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1364,7 +1429,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_list_style_type: mList->mType = aValue; break;
|
||||
case eCSSProperty_list_style_image: mList->mImage = aValue; break;
|
||||
case eCSSProperty_list_style_position: mList->mPosition = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1384,7 +1449,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_caption_side: mTable->mCaptionSide = aValue; break;
|
||||
case eCSSProperty_empty_cells: mTable->mEmptyCells = aValue; break;
|
||||
case eCSSProperty_table_layout: mTable->mLayout = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1404,7 +1469,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_page_break_after: mBreaks->mPageBreakAfter = aValue; break;
|
||||
case eCSSProperty_page_break_before: mBreaks->mPageBreakBefore = aValue; break;
|
||||
case eCSSProperty_page_break_inside: mBreaks->mPageBreakInside = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1418,7 +1483,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_marks: mPage->mMarks = aValue; break;
|
||||
case eCSSProperty_size_width: mPage->mSizeWidth = aValue; break;
|
||||
case eCSSProperty_size_height: mPage->mSizeHeight = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1463,8 +1528,34 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
CSS_IF_DELETE(mContent->mQuotes->mNext);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
// nsCSSUserInterface
|
||||
case eCSSProperty_user_input:
|
||||
case eCSSProperty_modify_content:
|
||||
case eCSSProperty_selection_style:
|
||||
case eCSSProperty_auto_select:
|
||||
case eCSSProperty_key_equivalent:
|
||||
case eCSSProperty_auto_tab:
|
||||
case eCSSProperty_resizer:
|
||||
CSS_ENSURE(UserInterface) {
|
||||
switch (aProperty) {
|
||||
case eCSSProperty_user_input: mUserInterface->mUserInput = aValue; break;
|
||||
case eCSSProperty_modify_content: mUserInterface->mModifyContent = aValue; break;
|
||||
case eCSSProperty_selection_style: mUserInterface->mSelectionStyle = aValue; break;
|
||||
case eCSSProperty_auto_select: mUserInterface->mAutoSelect = aValue; break;
|
||||
case eCSSProperty_key_equivalent:
|
||||
CSS_ENSURE_DATA(mUserInterface->mKeyEquivalent, nsCSSValueList) {
|
||||
mUserInterface->mKeyEquivalent->mValue = aValue;
|
||||
CSS_IF_DELETE(mUserInterface->mKeyEquivalent->mNext);
|
||||
}
|
||||
break;
|
||||
case eCSSProperty_auto_tab: mUserInterface->mAutoTab = aValue; break;
|
||||
case eCSSProperty_resizer: mUserInterface->mResizer = aValue; break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1510,7 +1601,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_stress: mAural->mStress = aValue; break;
|
||||
case eCSSProperty_voice_family: mAural->mVoiceFamily = aValue; break;
|
||||
case eCSSProperty_volume: mAural->mVolume = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1539,7 +1630,9 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_border_style:
|
||||
case eCSSProperty_border_width:
|
||||
NS_ERROR("can't append shorthand properties");
|
||||
default:
|
||||
// default: // XXX explicitly removing default case so compiler will help find missed props
|
||||
case eCSSProperty_UNKNOWN:
|
||||
case eCSSProperty_COUNT:
|
||||
result = NS_ERROR_ILLEGAL_VALUE;
|
||||
break;
|
||||
}
|
||||
@ -1612,6 +1705,13 @@ CSSDeclarationImpl::AppendStructValue(nsCSSProperty aProperty, void* aStruct)
|
||||
}
|
||||
break;
|
||||
|
||||
case eCSSProperty_key_equivalent:
|
||||
CSS_ENSURE(UserInterface) {
|
||||
CSS_IF_DELETE(mUserInterface->mKeyEquivalent);
|
||||
mUserInterface->mKeyEquivalent = (nsCSSValueList*)aStruct;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
NS_ERROR("not a struct property");
|
||||
result = NS_ERROR_ILLEGAL_VALUE;
|
||||
@ -1680,7 +1780,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_font_size, mFont->mSize);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_font_size_adjust, mFont->mSizeAdjust);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_font_stretch, mFont->mStretch);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1706,7 +1806,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_background_x_position, mColor->mBackPositionX);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_background_y_position, mColor->mBackPositionY);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_opacity, mColor->mOpacity);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1748,7 +1848,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_unicode_bidi, mText->mUnicodeBidi);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_line_height, mText->mLineHeight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_white_space, mText->mWhiteSpace);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1782,7 +1882,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_clear, mDisplay->mClear);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_overflow, mDisplay->mOverflow);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_visibility, mDisplay->mVisibility);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1801,7 +1901,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_clip_right, mDisplay->mClip->mRight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_clip_bottom, mDisplay->mClip->mBottom);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_clip_left, mDisplay->mClip->mLeft);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1823,7 +1923,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_margin_right, mMargin->mMargin->mRight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_margin_bottom, mMargin->mMargin->mBottom);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_margin_left, mMargin->mMargin->mLeft);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1844,7 +1944,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_padding_right, mMargin->mPadding->mRight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_padding_bottom, mMargin->mPadding->mBottom);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_padding_left, mMargin->mPadding->mLeft);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1865,7 +1965,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_border_right_width, mMargin->mBorderWidth->mRight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_border_bottom_width, mMargin->mBorderWidth->mBottom);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_border_left_width, mMargin->mBorderWidth->mLeft);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1886,7 +1986,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_border_right_color, mMargin->mBorderColor->mRight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_border_bottom_color, mMargin->mBorderColor->mBottom);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_border_left_color, mMargin->mBorderColor->mLeft);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1907,7 +2007,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_border_right_style, mMargin->mBorderStyle->mRight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_border_bottom_style, mMargin->mBorderStyle->mBottom);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_border_left_style, mMargin->mBorderStyle->mLeft);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1919,6 +2019,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
case eCSSProperty_outline_width:
|
||||
case eCSSProperty_outline_color:
|
||||
case eCSSProperty_outline_style:
|
||||
case eCSSProperty_float_edge:
|
||||
if (nsnull != mMargin) {
|
||||
CSS_ENSURE_IMPORTANT(Margin) {
|
||||
switch (aProperty) {
|
||||
@ -1926,7 +2027,8 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_outline_width, mMargin->mOutlineWidth);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_outline_color, mMargin->mOutlineColor);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_outline_style, mMargin->mOutlineStyle);
|
||||
default: break;
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_float_edge, mMargin->mFloatEdge);
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1940,6 +2042,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
case eCSSProperty_height:
|
||||
case eCSSProperty_min_height:
|
||||
case eCSSProperty_max_height:
|
||||
case eCSSProperty_box_sizing:
|
||||
case eCSSProperty_z_index:
|
||||
if (nsnull != mPosition) {
|
||||
CSS_ENSURE_IMPORTANT(Position) {
|
||||
@ -1951,8 +2054,9 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_height, mPosition->mHeight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_min_height, mPosition->mMinHeight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_max_height, mPosition->mMaxHeight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_box_sizing, mPosition->mBoxSizing);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_z_index, mPosition->mZIndex);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1971,7 +2075,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_right, mPosition->mOffset->mRight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_bottom, mPosition->mOffset->mBottom);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_left, mPosition->mOffset->mLeft);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1989,7 +2093,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_list_style_type, mList->mType);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_list_style_image, mList->mImage);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_list_style_position, mList->mPosition);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2011,7 +2115,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_caption_side, mTable->mCaptionSide);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_empty_cells, mTable->mEmptyCells);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_table_layout, mTable->mLayout);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2033,7 +2137,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_page_break_after, mBreaks->mPageBreakAfter);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_page_break_before, mBreaks->mPageBreakBefore);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_page_break_inside, mBreaks->mPageBreakInside);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2049,7 +2153,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_marks, mPage->mMarks);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_size_width, mPage->mSizeWidth);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_size_height, mPage->mSizeHeight);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2097,7 +2201,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_ENSURE_IMPORTANT(Content) {
|
||||
switch (aProperty) {
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_marker_offset, mContent->mMarkerOffset);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2115,6 +2219,40 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
}
|
||||
break;
|
||||
|
||||
// nsCSSUserInterface
|
||||
case eCSSProperty_user_input:
|
||||
case eCSSProperty_modify_content:
|
||||
case eCSSProperty_selection_style:
|
||||
case eCSSProperty_auto_select:
|
||||
case eCSSProperty_auto_tab:
|
||||
case eCSSProperty_resizer:
|
||||
if (nsnull != mUserInterface) {
|
||||
CSS_ENSURE_IMPORTANT(UserInterface) {
|
||||
switch (aProperty) {
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_user_input, mUserInterface->mUserInput);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_modify_content, mUserInterface->mModifyContent);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_selection_style, mUserInterface->mSelectionStyle);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_auto_select, mUserInterface->mAutoSelect);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_auto_tab, mUserInterface->mAutoTab);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_resizer, mUserInterface->mResizer);
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case eCSSProperty_key_equivalent:
|
||||
if (nsnull != mUserInterface) {
|
||||
if (nsnull != mUserInterface->mKeyEquivalent) {
|
||||
CSS_ENSURE_IMPORTANT(UserInterface) {
|
||||
CSS_IF_DELETE(mImportant->mUserInterface->mKeyEquivalent);
|
||||
mImportant->mUserInterface->mKeyEquivalent = mUserInterface->mKeyEquivalent;
|
||||
mUserInterface->mKeyEquivalent = nsnull;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
// nsCSSAural
|
||||
case eCSSProperty_azimuth:
|
||||
case eCSSProperty_elevation:
|
||||
@ -2153,7 +2291,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_stress, mAural->mStress);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_voice_family, mAural->mVoiceFamily);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_volume, mAural->mVolume);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2336,7 +2474,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_font_size: aValue = mFont->mSize; break;
|
||||
case eCSSProperty_font_size_adjust: aValue = mFont->mSizeAdjust; break;
|
||||
case eCSSProperty_font_stretch: aValue = mFont->mStretch; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2369,7 +2507,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
}
|
||||
break;
|
||||
case eCSSProperty_opacity: aValue = mColor->mOpacity; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2400,7 +2538,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_unicode_bidi: aValue = mText->mUnicodeBidi; break;
|
||||
case eCSSProperty_line_height: aValue = mText->mLineHeight; break;
|
||||
case eCSSProperty_white_space: aValue = mText->mWhiteSpace; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2418,7 +2556,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_text_shadow_x: aValue = mText->mTextShadow->mXOffset; break;
|
||||
case eCSSProperty_text_shadow_y: aValue = mText->mTextShadow->mYOffset; break;
|
||||
case eCSSProperty_text_shadow_radius: aValue = mText->mTextShadow->mRadius; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -2438,7 +2576,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_direction: aValue = mDisplay->mDirection; break;
|
||||
case eCSSProperty_visibility: aValue = mDisplay->mVisibility; break;
|
||||
case eCSSProperty_overflow: aValue = mDisplay->mOverflow; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2456,8 +2594,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_clip_right: aValue = mDisplay->mClip->mRight; break;
|
||||
case eCSSProperty_clip_bottom: aValue = mDisplay->mClip->mBottom; break;
|
||||
case eCSSProperty_clip_left: aValue = mDisplay->mClip->mLeft; break;
|
||||
default:
|
||||
break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2476,7 +2613,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_margin_right: aValue = mMargin->mMargin->mRight; break;
|
||||
case eCSSProperty_margin_bottom: aValue = mMargin->mMargin->mBottom; break;
|
||||
case eCSSProperty_margin_left: aValue = mMargin->mMargin->mLeft; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2494,7 +2631,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_padding_right: aValue = mMargin->mPadding->mRight; break;
|
||||
case eCSSProperty_padding_bottom: aValue = mMargin->mPadding->mBottom; break;
|
||||
case eCSSProperty_padding_left: aValue = mMargin->mPadding->mLeft; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2512,7 +2649,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_border_right_width: aValue = mMargin->mBorderWidth->mRight; break;
|
||||
case eCSSProperty_border_bottom_width: aValue = mMargin->mBorderWidth->mBottom; break;
|
||||
case eCSSProperty_border_left_width: aValue = mMargin->mBorderWidth->mLeft; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2530,7 +2667,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_border_right_color: aValue = mMargin->mBorderColor->mRight; break;
|
||||
case eCSSProperty_border_bottom_color: aValue = mMargin->mBorderColor->mBottom; break;
|
||||
case eCSSProperty_border_left_color: aValue = mMargin->mBorderColor->mLeft; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2548,7 +2685,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_border_right_style: aValue = mMargin->mBorderStyle->mRight; break;
|
||||
case eCSSProperty_border_bottom_style: aValue = mMargin->mBorderStyle->mBottom; break;
|
||||
case eCSSProperty_border_left_style: aValue = mMargin->mBorderStyle->mLeft; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2560,13 +2697,15 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_outline_width:
|
||||
case eCSSProperty_outline_color:
|
||||
case eCSSProperty_outline_style:
|
||||
case eCSSProperty_float_edge:
|
||||
if (nsnull != mMargin) {
|
||||
switch (aProperty) {
|
||||
case eCSSProperty__moz_border_radius: aValue = mMargin->mBorderRadius; break;
|
||||
case eCSSProperty_outline_width: aValue = mMargin->mOutlineWidth; break;
|
||||
case eCSSProperty_outline_color: aValue = mMargin->mOutlineColor; break;
|
||||
case eCSSProperty_outline_style: aValue = mMargin->mOutlineStyle; break;
|
||||
default: break;
|
||||
case eCSSProperty_float_edge: aValue = mMargin->mFloatEdge; break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2582,6 +2721,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_height:
|
||||
case eCSSProperty_min_height:
|
||||
case eCSSProperty_max_height:
|
||||
case eCSSProperty_box_sizing:
|
||||
case eCSSProperty_z_index:
|
||||
if (nsnull != mPosition) {
|
||||
switch (aProperty) {
|
||||
@ -2592,8 +2732,9 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_height: aValue = mPosition->mHeight; break;
|
||||
case eCSSProperty_min_height: aValue = mPosition->mMinHeight; break;
|
||||
case eCSSProperty_max_height: aValue = mPosition->mMaxHeight; break;
|
||||
case eCSSProperty_box_sizing: aValue = mPosition->mBoxSizing; break;
|
||||
case eCSSProperty_z_index: aValue = mPosition->mZIndex; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2611,7 +2752,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_right: aValue = mPosition->mOffset->mRight; break;
|
||||
case eCSSProperty_bottom: aValue = mPosition->mOffset->mBottom; break;
|
||||
case eCSSProperty_left: aValue = mPosition->mOffset->mLeft; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2628,7 +2769,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_list_style_type: aValue = mList->mType; break;
|
||||
case eCSSProperty_list_style_image: aValue = mList->mImage; break;
|
||||
case eCSSProperty_list_style_position: aValue = mList->mPosition; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2651,7 +2792,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_caption_side: aValue = mTable->mCaptionSide; break;
|
||||
case eCSSProperty_empty_cells: aValue = mTable->mEmptyCells; break;
|
||||
case eCSSProperty_table_layout: aValue = mTable->mLayout; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2674,7 +2815,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_page_break_after: aValue = mBreaks->mPageBreakAfter; break;
|
||||
case eCSSProperty_page_break_before: aValue = mBreaks->mPageBreakBefore; break;
|
||||
case eCSSProperty_page_break_inside: aValue = mBreaks->mPageBreakInside; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2691,7 +2832,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_marks: aValue = mPage->mMarks; break;
|
||||
case eCSSProperty_size_width: aValue = mPage->mSizeWidth; break;
|
||||
case eCSSProperty_size_height: aValue = mPage->mSizeHeight; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2734,8 +2875,36 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
aValue = mContent->mQuotes->mClose;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
aValue.Reset();
|
||||
}
|
||||
break;
|
||||
|
||||
// nsCSSUserInterface
|
||||
case eCSSProperty_user_input:
|
||||
case eCSSProperty_modify_content:
|
||||
case eCSSProperty_selection_style:
|
||||
case eCSSProperty_auto_select:
|
||||
case eCSSProperty_key_equivalent:
|
||||
case eCSSProperty_auto_tab:
|
||||
case eCSSProperty_resizer:
|
||||
if (nsnull != mUserInterface) {
|
||||
switch (aProperty) {
|
||||
case eCSSProperty_user_input: aValue = mUserInterface->mUserInput; break;
|
||||
case eCSSProperty_modify_content: aValue = mUserInterface->mModifyContent; break;
|
||||
case eCSSProperty_selection_style: aValue = mUserInterface->mSelectionStyle; break;
|
||||
case eCSSProperty_auto_select: aValue = mUserInterface->mAutoSelect; break;
|
||||
case eCSSProperty_key_equivalent:
|
||||
if (nsnull != mUserInterface->mKeyEquivalent) {
|
||||
aValue = mUserInterface->mKeyEquivalent->mValue;
|
||||
}
|
||||
break;
|
||||
case eCSSProperty_auto_tab: aValue = mUserInterface->mAutoTab; break;
|
||||
case eCSSProperty_resizer: aValue = mUserInterface->mResizer; break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2784,7 +2953,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_stress: aValue = mAural->mStress; break;
|
||||
case eCSSProperty_voice_family: aValue = mAural->mVoiceFamily; break;
|
||||
case eCSSProperty_volume: aValue = mAural->mVolume; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -3256,6 +3425,18 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsString& aValue)
|
||||
} while (nsnull != quotes);
|
||||
}
|
||||
break;
|
||||
case eCSSProperty_key_equivalent:
|
||||
if ((nsnull != mUserInterface) && (nsnull != mUserInterface->mKeyEquivalent)) {
|
||||
nsCSSValueList* keyEquiv = mUserInterface->mKeyEquivalent;
|
||||
do {
|
||||
AppendValueToString(eCSSProperty_key_equivalent, keyEquiv->mValue, aValue);
|
||||
keyEquiv = keyEquiv->mNext;
|
||||
if (nsnull != keyEquiv) {
|
||||
aValue.Append(' ');
|
||||
}
|
||||
} while (nsnull != keyEquiv);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
AppendValueToString(aProperty, aValue);
|
||||
break;
|
||||
@ -3375,6 +3556,9 @@ void CSSDeclarationImpl::List(FILE* out, PRInt32 aIndent) const
|
||||
if (nsnull != mContent) {
|
||||
mContent->List(out);
|
||||
}
|
||||
if (nsnull != mUserInterface) {
|
||||
mUserInterface->List(out);
|
||||
}
|
||||
if (nsnull != mAural) {
|
||||
mAural->List(out);
|
||||
}
|
||||
|
||||
@ -63,6 +63,7 @@ static NS_DEFINE_IID(kCSSListSID, NS_CSS_LIST_SID);
|
||||
static NS_DEFINE_IID(kCSSDisplaySID, NS_CSS_DISPLAY_SID);
|
||||
static NS_DEFINE_IID(kCSSTableSID, NS_CSS_TABLE_SID);
|
||||
static NS_DEFINE_IID(kCSSContentSID, NS_CSS_CONTENT_SID);
|
||||
static NS_DEFINE_IID(kCSSUserInterfaceSID, NS_CSS_USER_INTERFACE_SID);
|
||||
|
||||
// -- nsCSSSelector -------------------------------
|
||||
|
||||
@ -1921,6 +1922,14 @@ void MapDeclarationInto(nsICSSDeclaration* aDeclaration,
|
||||
else if (eCSSUnit_Inherit == ourMargin->mOutlineStyle.GetUnit()) {
|
||||
spacing->SetOutlineStyle(parentSpacing->GetOutlineStyle());
|
||||
}
|
||||
|
||||
// float-edge: enum, inherit
|
||||
if (eCSSUnit_Enumerated == ourMargin->mFloatEdge.GetUnit()) {
|
||||
spacing->mFloatEdge = ourMargin->mFloatEdge.GetIntValue();
|
||||
}
|
||||
else if (eCSSUnit_Inherit == ourMargin->mFloatEdge.GetUnit()) {
|
||||
spacing->mFloatEdge = parentSpacing->mFloatEdge;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1975,6 +1984,14 @@ void MapDeclarationInto(nsICSSDeclaration* aDeclaration,
|
||||
}
|
||||
}
|
||||
|
||||
// box-sizing: enum, inherit
|
||||
if (eCSSUnit_Enumerated == ourPosition->mBoxSizing.GetUnit()) {
|
||||
position->mBoxSizing = ourPosition->mBoxSizing.GetIntValue();
|
||||
}
|
||||
else if (eCSSUnit_Inherit == ourPosition->mBoxSizing.GetUnit()) {
|
||||
position->mBoxSizing = parentPosition->mBoxSizing;
|
||||
}
|
||||
|
||||
// z-index
|
||||
SetCoord(ourPosition->mZIndex, position->mZIndex, SETCOORD_IAH, font->mFont, nsnull);
|
||||
}
|
||||
@ -2289,6 +2306,106 @@ void MapDeclarationInto(nsICSSDeclaration* aDeclaration,
|
||||
}
|
||||
}
|
||||
|
||||
nsCSSUserInterface* ourUI;
|
||||
if (NS_OK == aDeclaration->GetData(kCSSUserInterfaceSID, (nsCSSStruct**)&ourUI)) {
|
||||
if (nsnull != ourUI) {
|
||||
// Get our user interface style and our parent's user interface style
|
||||
nsStyleUserInterface* ui = (nsStyleUserInterface*) aContext->GetMutableStyleData(eStyleStruct_UserInterface);
|
||||
const nsStyleUserInterface* parentUI = ui;
|
||||
if (nsnull != parentContext) {
|
||||
parentUI = (const nsStyleUserInterface*)parentContext->GetStyleData(eStyleStruct_UserInterface);
|
||||
}
|
||||
|
||||
// user-input: auto, none, enum, inherit
|
||||
if (eCSSUnit_Enumerated == ourUI->mUserInput.GetUnit()) {
|
||||
ui->mUserInput = ourUI->mUserInput.GetIntValue();
|
||||
}
|
||||
else if (eCSSUnit_Auto == ourUI->mUserInput.GetUnit()) {
|
||||
ui->mUserInput = NS_STYLE_USER_INPUT_AUTO;
|
||||
}
|
||||
else if (eCSSUnit_None == ourUI->mUserInput.GetUnit()) {
|
||||
ui->mUserInput = NS_STYLE_USER_INPUT_NONE;
|
||||
}
|
||||
else if (eCSSUnit_Inherit == ourUI->mUserInput.GetUnit()) {
|
||||
ui->mUserInput = parentUI->mUserInput;
|
||||
}
|
||||
|
||||
// modify-content: enum, inherit
|
||||
if (eCSSUnit_Enumerated == ourUI->mModifyContent.GetUnit()) {
|
||||
ui->mModifyContent = ourUI->mModifyContent.GetIntValue();
|
||||
}
|
||||
else if (eCSSUnit_Inherit == ourUI->mModifyContent.GetUnit()) {
|
||||
ui->mModifyContent = parentUI->mModifyContent;
|
||||
}
|
||||
|
||||
// selection-style: none, enum, inherit
|
||||
if (eCSSUnit_Enumerated == ourUI->mSelectionStyle.GetUnit()) {
|
||||
ui->mSelectionStyle = ourUI->mSelectionStyle.GetIntValue();
|
||||
}
|
||||
else if (eCSSUnit_None == ourUI->mSelectionStyle.GetUnit()) {
|
||||
ui->mSelectionStyle = NS_STYLE_SELECTION_STYLE_NONE;
|
||||
}
|
||||
else if (eCSSUnit_Inherit == ourUI->mSelectionStyle.GetUnit()) {
|
||||
ui->mSelectionStyle = parentUI->mSelectionStyle;
|
||||
}
|
||||
|
||||
// auto-select: none, enum, inherit
|
||||
if (eCSSUnit_Enumerated == ourUI->mAutoSelect.GetUnit()) {
|
||||
ui->mAutoSelect = ourUI->mAutoSelect.GetIntValue();
|
||||
}
|
||||
else if (eCSSUnit_None == ourUI->mAutoSelect.GetUnit()) {
|
||||
ui->mAutoSelect = NS_STYLE_AUTO_SELECT_NONE;
|
||||
}
|
||||
else if (eCSSUnit_Inherit == ourUI->mAutoSelect.GetUnit()) {
|
||||
ui->mAutoSelect = parentUI->mAutoSelect;
|
||||
}
|
||||
|
||||
// key-equivalent: none, enum XXX, inherit
|
||||
nsCSSValueList* keyEquiv = ourUI->mKeyEquivalent;
|
||||
if (keyEquiv) {
|
||||
// XXX need to deal with multiple values
|
||||
if (eCSSUnit_Enumerated == keyEquiv->mValue.GetUnit()) {
|
||||
ui->mKeyEquivalent = PRUnichar(0); // XXX To be implemented
|
||||
}
|
||||
else if (eCSSUnit_None == keyEquiv->mValue.GetUnit()) {
|
||||
ui->mKeyEquivalent = PRUnichar(0);
|
||||
}
|
||||
else if (eCSSUnit_Inherit == keyEquiv->mValue.GetUnit()) {
|
||||
ui->mKeyEquivalent = parentUI->mKeyEquivalent;
|
||||
}
|
||||
}
|
||||
|
||||
// auto-tab: auto, none, enum, inherit
|
||||
if (eCSSUnit_Enumerated == ourUI->mAutoTab.GetUnit()) {
|
||||
ui->mAutoTab = ourUI->mAutoTab.GetIntValue();
|
||||
}
|
||||
else if (eCSSUnit_Auto == ourUI->mAutoTab.GetUnit()) {
|
||||
ui->mAutoTab = NS_STYLE_AUTO_TAB_AUTO;
|
||||
}
|
||||
else if (eCSSUnit_None == ourUI->mAutoTab.GetUnit()) {
|
||||
ui->mAutoTab = NS_STYLE_AUTO_TAB_NONE;
|
||||
}
|
||||
else if (eCSSUnit_Inherit == ourUI->mAutoTab.GetUnit()) {
|
||||
ui->mAutoTab = parentUI->mAutoTab;
|
||||
}
|
||||
|
||||
// resizer: auto, none, enum, inherit
|
||||
if (eCSSUnit_Enumerated == ourUI->mResizer.GetUnit()) {
|
||||
ui->mResizer = ourUI->mResizer.GetIntValue();
|
||||
}
|
||||
else if (eCSSUnit_Auto == ourUI->mResizer.GetUnit()) {
|
||||
ui->mResizer = NS_STYLE_RESIZER_AUTO;
|
||||
}
|
||||
else if (eCSSUnit_None == ourUI->mResizer.GetUnit()) {
|
||||
ui->mResizer = NS_STYLE_RESIZER_NONE;
|
||||
}
|
||||
else if (eCSSUnit_Inherit == ourUI->mResizer.GetUnit()) {
|
||||
ui->mResizer = parentUI->mResizer;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
NS_IF_RELEASE(parentContext);
|
||||
}
|
||||
}
|
||||
|
||||
@ -78,6 +78,10 @@ struct nsCSSStruct {
|
||||
#define NS_CSS_CONTENT_SID \
|
||||
{0x1629ef70, 0x5a3b, 0x11d2, {0x80, 0x3b, 0x00, 0x60, 0x08, 0x15, 0x9b, 0x5a}}
|
||||
|
||||
// SID for the nsCSSUserInterface struct {4397c3a0-3efe-11d3-8060-006008159b5a}
|
||||
#define NS_CSS_USER_INTERFACE_SID \
|
||||
{0x4397c3a0, 0x3efe, 0x11d3, {0x80, 0x60, 0x00, 0x60, 0x08, 0x15, 0x9b, 0x5a}}
|
||||
|
||||
// SID for the nsCSSAural struct {166d2bb0-5a3b-11d2-803b-006008159b5a}
|
||||
#define NS_CSS_AURAL_SID \
|
||||
{0x166d2bb0, 0x5a3b, 0x11d2, {0x80, 0x3b, 0x00, 0x60, 0x08, 0x15, 0x9b, 0x5a}}
|
||||
@ -204,13 +208,14 @@ struct nsCSSMargin : public nsCSSStruct {
|
||||
|
||||
nsCSSRect* mMargin;
|
||||
nsCSSRect* mPadding;
|
||||
nsCSSRect* mBorderWidth; // CHANGED
|
||||
nsCSSRect* mBorderColor; // CHANGED
|
||||
nsCSSRect* mBorderStyle; // CHANGED
|
||||
nsCSSValue mBorderRadius; // NEW (extension)
|
||||
nsCSSValue mOutlineWidth; // NEW
|
||||
nsCSSValue mOutlineColor; // NEW
|
||||
nsCSSValue mOutlineStyle; // NEW
|
||||
nsCSSRect* mBorderWidth;
|
||||
nsCSSRect* mBorderColor;
|
||||
nsCSSRect* mBorderStyle;
|
||||
nsCSSValue mBorderRadius; // (extension)
|
||||
nsCSSValue mOutlineWidth;
|
||||
nsCSSValue mOutlineColor;
|
||||
nsCSSValue mOutlineStyle;
|
||||
nsCSSValue mFloatEdge; // NEW
|
||||
};
|
||||
|
||||
struct nsCSSPosition : public nsCSSStruct {
|
||||
@ -223,12 +228,13 @@ struct nsCSSPosition : public nsCSSStruct {
|
||||
|
||||
nsCSSValue mPosition;
|
||||
nsCSSValue mWidth;
|
||||
nsCSSValue mMinWidth; // NEW
|
||||
nsCSSValue mMaxWidth; // NEW
|
||||
nsCSSValue mMinWidth;
|
||||
nsCSSValue mMaxWidth;
|
||||
nsCSSValue mHeight;
|
||||
nsCSSValue mMinHeight; // NEW
|
||||
nsCSSValue mMaxHeight; // NEW
|
||||
nsCSSRect* mOffset; // NEW
|
||||
nsCSSValue mMinHeight;
|
||||
nsCSSValue mMaxHeight;
|
||||
nsCSSValue mBoxSizing; // NEW
|
||||
nsCSSRect* mOffset;
|
||||
nsCSSValue mZIndex;
|
||||
};
|
||||
|
||||
@ -310,7 +316,7 @@ struct nsCSSQuotes {
|
||||
nsCSSQuotes* mNext;
|
||||
};
|
||||
|
||||
struct nsCSSContent : public nsCSSStruct { // NEW
|
||||
struct nsCSSContent : public nsCSSStruct {
|
||||
nsCSSContent(void);
|
||||
nsCSSContent(const nsCSSContent& aCopy);
|
||||
virtual ~nsCSSContent(void);
|
||||
@ -325,6 +331,23 @@ struct nsCSSContent : public nsCSSStruct { // NEW
|
||||
nsCSSQuotes* mQuotes;
|
||||
};
|
||||
|
||||
struct nsCSSUserInterface : public nsCSSStruct { // NEW
|
||||
nsCSSUserInterface(void);
|
||||
nsCSSUserInterface(const nsCSSUserInterface& aCopy);
|
||||
virtual ~nsCSSUserInterface(void);
|
||||
|
||||
const nsID& GetID(void);
|
||||
void List(FILE* out = stdout, PRInt32 aIndent = 0) const;
|
||||
|
||||
nsCSSValue mUserInput;
|
||||
nsCSSValue mModifyContent;
|
||||
nsCSSValue mSelectionStyle;
|
||||
nsCSSValue mAutoSelect;
|
||||
nsCSSValueList* mKeyEquivalent;
|
||||
nsCSSValue mAutoTab;
|
||||
nsCSSValue mResizer;
|
||||
};
|
||||
|
||||
struct nsCSSAural : public nsCSSStruct { // NEW
|
||||
nsCSSAural(void);
|
||||
nsCSSAural(const nsCSSAural& aCopy);
|
||||
|
||||
@ -125,8 +125,6 @@ nsCSSKeywords::LookupKeyword(const nsStr& aKeyword)
|
||||
const nsCString&
|
||||
nsCSSKeywords::GetStringValue(nsCSSKeyword aKeyword)
|
||||
{
|
||||
nsString* value = nsnull;
|
||||
|
||||
NS_ASSERTION(gKeywordArray, "no lookup table, needs addref");
|
||||
if ((eCSSKeyword_UNKNOWN < aKeyword) &&
|
||||
(aKeyword < eCSSKeyword_COUNT) && gKeywordArray) {
|
||||
|
||||
@ -294,6 +294,7 @@ const PRInt32 nsCSSProps::kDisplayKTable[] = {
|
||||
eCSSKeyword_table_column, NS_STYLE_DISPLAY_TABLE_COLUMN,
|
||||
eCSSKeyword_table_cell, NS_STYLE_DISPLAY_TABLE_CELL,
|
||||
eCSSKeyword_table_caption, NS_STYLE_DISPLAY_TABLE_CAPTION,
|
||||
eCSSKeyword_menu, NS_STYLE_DISPLAY_MENU,
|
||||
-1,-1
|
||||
};
|
||||
|
||||
@ -645,6 +646,9 @@ static const PRInt32 kBackgroundYPositionKTable[] = {
|
||||
};
|
||||
|
||||
switch (aProp) {
|
||||
|
||||
case eCSSProperty__moz_border_radius:
|
||||
break;
|
||||
|
||||
case eCSSProperty_auto_select:
|
||||
return SearchKeywordTable(aValue, kAutoSelectKTable);
|
||||
|
||||
@ -38,6 +38,7 @@ static NS_DEFINE_IID(kCSSTableSID, NS_CSS_TABLE_SID);
|
||||
static NS_DEFINE_IID(kCSSBreaksSID, NS_CSS_BREAKS_SID);
|
||||
static NS_DEFINE_IID(kCSSPageSID, NS_CSS_PAGE_SID);
|
||||
static NS_DEFINE_IID(kCSSContentSID, NS_CSS_CONTENT_SID);
|
||||
static NS_DEFINE_IID(kCSSUserInterfaceSID, NS_CSS_USER_INTERFACE_SID);
|
||||
static NS_DEFINE_IID(kCSSAuralSID, NS_CSS_AURAL_SID);
|
||||
static NS_DEFINE_IID(kICSSDeclarationIID, NS_ICSS_DECLARATION_IID);
|
||||
|
||||
@ -379,7 +380,8 @@ nsCSSMargin::nsCSSMargin(const nsCSSMargin& aCopy)
|
||||
mBorderRadius(aCopy.mBorderRadius),
|
||||
mOutlineWidth(aCopy.mOutlineWidth),
|
||||
mOutlineColor(aCopy.mOutlineColor),
|
||||
mOutlineStyle(aCopy.mOutlineStyle)
|
||||
mOutlineStyle(aCopy.mOutlineStyle),
|
||||
mFloatEdge(aCopy.mFloatEdge)
|
||||
{
|
||||
CSS_IF_COPY(mMargin, nsCSSRect);
|
||||
CSS_IF_COPY(mPadding, nsCSSRect);
|
||||
@ -445,6 +447,7 @@ void nsCSSMargin::List(FILE* out, PRInt32 aIndent) const
|
||||
mOutlineWidth.AppendToString(buffer, eCSSProperty_outline_width);
|
||||
mOutlineColor.AppendToString(buffer, eCSSProperty_outline_color);
|
||||
mOutlineStyle.AppendToString(buffer, eCSSProperty_outline_style);
|
||||
mFloatEdge.AppendToString(buffer, eCSSProperty_float_edge);
|
||||
fputs(buffer, out);
|
||||
}
|
||||
|
||||
@ -463,6 +466,7 @@ nsCSSPosition::nsCSSPosition(const nsCSSPosition& aCopy)
|
||||
mHeight(aCopy.mHeight),
|
||||
mMinHeight(aCopy.mMinHeight),
|
||||
mMaxHeight(aCopy.mMaxHeight),
|
||||
mBoxSizing(aCopy.mBoxSizing),
|
||||
mOffset(nsnull),
|
||||
mZIndex(aCopy.mZIndex)
|
||||
{
|
||||
@ -492,6 +496,7 @@ void nsCSSPosition::List(FILE* out, PRInt32 aIndent) const
|
||||
mHeight.AppendToString(buffer, eCSSProperty_height);
|
||||
mMinHeight.AppendToString(buffer, eCSSProperty_min_height);
|
||||
mMaxHeight.AppendToString(buffer, eCSSProperty_max_height);
|
||||
mBoxSizing.AppendToString(buffer, eCSSProperty_box_sizing);
|
||||
mZIndex.AppendToString(buffer, eCSSProperty_z_index);
|
||||
fputs(buffer, out);
|
||||
|
||||
@ -765,6 +770,55 @@ void nsCSSContent::List(FILE* out, PRInt32 aIndent) const
|
||||
fputs(buffer, out);
|
||||
}
|
||||
|
||||
// --- nsCSSUserInterface -----------------
|
||||
|
||||
nsCSSUserInterface::nsCSSUserInterface(void)
|
||||
: mKeyEquivalent(nsnull)
|
||||
{
|
||||
}
|
||||
|
||||
nsCSSUserInterface::nsCSSUserInterface(const nsCSSUserInterface& aCopy)
|
||||
: mUserInput(aCopy.mUserInput),
|
||||
mModifyContent(aCopy.mModifyContent),
|
||||
mSelectionStyle(aCopy.mSelectionStyle),
|
||||
mAutoSelect(aCopy.mAutoSelect),
|
||||
mKeyEquivalent(nsnull),
|
||||
mAutoTab(aCopy.mAutoTab),
|
||||
mResizer(aCopy.mResizer)
|
||||
{
|
||||
CSS_IF_COPY(mKeyEquivalent, nsCSSValueList);
|
||||
}
|
||||
|
||||
nsCSSUserInterface::~nsCSSUserInterface(void)
|
||||
{
|
||||
CSS_IF_DELETE(mKeyEquivalent);
|
||||
}
|
||||
|
||||
const nsID& nsCSSUserInterface::GetID(void)
|
||||
{
|
||||
return kCSSUserInterfaceSID;
|
||||
}
|
||||
|
||||
void nsCSSUserInterface::List(FILE* out, PRInt32 aIndent) const
|
||||
{
|
||||
for (PRInt32 index = aIndent; --index >= 0; ) fputs(" ", out);
|
||||
|
||||
nsAutoString buffer;
|
||||
|
||||
mUserInput.AppendToString(buffer, eCSSProperty_user_input);
|
||||
mModifyContent.AppendToString(buffer, eCSSProperty_modify_content);
|
||||
mSelectionStyle.AppendToString(buffer, eCSSProperty_selection_style);
|
||||
mAutoSelect.AppendToString(buffer, eCSSProperty_auto_select);
|
||||
nsCSSValueList* keyEquiv = mKeyEquivalent;
|
||||
while (nsnull != keyEquiv) {
|
||||
keyEquiv->mValue.AppendToString(buffer, eCSSProperty_key_equivalent);
|
||||
keyEquiv= keyEquiv->mNext;
|
||||
}
|
||||
mAutoTab.AppendToString(buffer, eCSSProperty_auto_tab);
|
||||
mResizer.AppendToString(buffer, eCSSProperty_resizer);
|
||||
fputs(buffer, out);
|
||||
}
|
||||
|
||||
// --- nsCSSAural -----------------
|
||||
|
||||
nsCSSAural::nsCSSAural(void)
|
||||
@ -893,6 +947,7 @@ protected:
|
||||
nsCSSBreaks* mBreaks;
|
||||
nsCSSPage* mPage;
|
||||
nsCSSContent* mContent;
|
||||
nsCSSUserInterface* mUserInterface;
|
||||
nsCSSAural* mAural;
|
||||
|
||||
CSSDeclarationImpl* mImportant;
|
||||
@ -934,6 +989,7 @@ CSSDeclarationImpl::CSSDeclarationImpl(const CSSDeclarationImpl& aCopy)
|
||||
DECL_IF_COPY(Breaks);
|
||||
DECL_IF_COPY(Page);
|
||||
DECL_IF_COPY(Content);
|
||||
DECL_IF_COPY(UserInterface);
|
||||
DECL_IF_COPY(Aural);
|
||||
|
||||
if (aCopy.mImportant) {
|
||||
@ -970,6 +1026,7 @@ CSSDeclarationImpl::~CSSDeclarationImpl(void)
|
||||
CSS_IF_DELETE(mBreaks);
|
||||
CSS_IF_DELETE(mPage);
|
||||
CSS_IF_DELETE(mContent);
|
||||
CSS_IF_DELETE(mUserInterface);
|
||||
CSS_IF_DELETE(mAural);
|
||||
|
||||
NS_IF_RELEASE(mImportant);
|
||||
@ -1005,6 +1062,7 @@ CSSDeclarationImpl::GetData(const nsID& aSID, nsCSSStruct** aDataPtr)
|
||||
CSS_IF_GET_ELSE(aSID, Breaks, aDataPtr)
|
||||
CSS_IF_GET_ELSE(aSID, Page, aDataPtr)
|
||||
CSS_IF_GET_ELSE(aSID, Content, aDataPtr)
|
||||
CSS_IF_GET_ELSE(aSID, UserInterface, aDataPtr)
|
||||
CSS_IF_GET_ELSE(aSID, Aural, aDataPtr) {
|
||||
return NS_NOINTERFACE;
|
||||
}
|
||||
@ -1035,6 +1093,7 @@ CSSDeclarationImpl::EnsureData(const nsID& aSID, nsCSSStruct** aDataPtr)
|
||||
CSS_IF_ENSURE_ELSE(aSID, Breaks, aDataPtr)
|
||||
CSS_IF_ENSURE_ELSE(aSID, Page, aDataPtr)
|
||||
CSS_IF_ENSURE_ELSE(aSID, Content, aDataPtr)
|
||||
CSS_IF_ENSURE_ELSE(aSID, UserInterface, aDataPtr)
|
||||
CSS_IF_ENSURE_ELSE(aSID, Aural, aDataPtr) {
|
||||
return NS_NOINTERFACE;
|
||||
}
|
||||
@ -1071,6 +1130,8 @@ CSSDeclarationImpl::EnsureData(const nsID& aSID, nsCSSStruct** aDataPtr)
|
||||
} \
|
||||
else
|
||||
|
||||
#define CSS_BOGUS_DEFAULT default: NS_ERROR("should never happen"); break;
|
||||
|
||||
NS_IMETHODIMP
|
||||
CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValue)
|
||||
{
|
||||
@ -1094,7 +1155,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_font_size: mFont->mSize = aValue; break;
|
||||
case eCSSProperty_font_size_adjust: mFont->mSizeAdjust = aValue; break;
|
||||
case eCSSProperty_font_stretch: mFont->mStretch = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1125,7 +1186,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
}
|
||||
break;
|
||||
case eCSSProperty_opacity: mColor->mOpacity = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1153,7 +1214,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_unicode_bidi: mText->mUnicodeBidi = aValue; break;
|
||||
case eCSSProperty_line_height: mText->mLineHeight = aValue; break;
|
||||
case eCSSProperty_white_space: mText->mWhiteSpace = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1169,7 +1230,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_text_shadow_radius: mText->mTextShadow->mRadius = aValue; break;
|
||||
case eCSSProperty_text_shadow_x: mText->mTextShadow->mXOffset = aValue; break;
|
||||
case eCSSProperty_text_shadow_y: mText->mTextShadow->mYOffset = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
CSS_IF_DELETE(mText->mTextShadow->mNext);
|
||||
}
|
||||
@ -1191,7 +1252,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_direction: mDisplay->mDirection = aValue; break;
|
||||
case eCSSProperty_visibility: mDisplay->mVisibility = aValue; break;
|
||||
case eCSSProperty_overflow: mDisplay->mOverflow = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1207,7 +1268,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_clip_right: mDisplay->mClip->mRight = aValue; break;
|
||||
case eCSSProperty_clip_bottom: mDisplay->mClip->mBottom = aValue; break;
|
||||
case eCSSProperty_clip_left: mDisplay->mClip->mLeft = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1225,7 +1286,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_margin_right: mMargin->mMargin->mRight = aValue; break;
|
||||
case eCSSProperty_margin_bottom: mMargin->mMargin->mBottom = aValue; break;
|
||||
case eCSSProperty_margin_left: mMargin->mMargin->mLeft = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1242,7 +1303,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_padding_right: mMargin->mPadding->mRight = aValue; break;
|
||||
case eCSSProperty_padding_bottom: mMargin->mPadding->mBottom = aValue; break;
|
||||
case eCSSProperty_padding_left: mMargin->mPadding->mLeft = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1259,7 +1320,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_border_right_width: mMargin->mBorderWidth->mRight = aValue; break;
|
||||
case eCSSProperty_border_bottom_width: mMargin->mBorderWidth->mBottom = aValue; break;
|
||||
case eCSSProperty_border_left_width: mMargin->mBorderWidth->mLeft = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1276,7 +1337,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_border_right_color: mMargin->mBorderColor->mRight = aValue; break;
|
||||
case eCSSProperty_border_bottom_color: mMargin->mBorderColor->mBottom = aValue; break;
|
||||
case eCSSProperty_border_left_color: mMargin->mBorderColor->mLeft = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1293,7 +1354,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_border_right_style: mMargin->mBorderStyle->mRight = aValue; break;
|
||||
case eCSSProperty_border_bottom_style: mMargin->mBorderStyle->mBottom = aValue; break;
|
||||
case eCSSProperty_border_left_style: mMargin->mBorderStyle->mLeft = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1303,13 +1364,15 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_outline_width:
|
||||
case eCSSProperty_outline_color:
|
||||
case eCSSProperty_outline_style:
|
||||
case eCSSProperty_float_edge:
|
||||
CSS_ENSURE(Margin) {
|
||||
switch (aProperty) {
|
||||
case eCSSProperty__moz_border_radius: mMargin->mBorderRadius = aValue; break;
|
||||
case eCSSProperty_outline_width: mMargin->mOutlineWidth = aValue; break;
|
||||
case eCSSProperty_outline_color: mMargin->mOutlineColor = aValue; break;
|
||||
case eCSSProperty_outline_style: mMargin->mOutlineStyle = aValue; break;
|
||||
default: break;
|
||||
case eCSSProperty_float_edge: mMargin->mFloatEdge = aValue; break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1322,6 +1385,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_height:
|
||||
case eCSSProperty_min_height:
|
||||
case eCSSProperty_max_height:
|
||||
case eCSSProperty_box_sizing:
|
||||
case eCSSProperty_z_index:
|
||||
CSS_ENSURE(Position) {
|
||||
switch (aProperty) {
|
||||
@ -1332,8 +1396,9 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_height: mPosition->mHeight = aValue; break;
|
||||
case eCSSProperty_min_height: mPosition->mMinHeight = aValue; break;
|
||||
case eCSSProperty_max_height: mPosition->mMaxHeight = aValue; break;
|
||||
case eCSSProperty_box_sizing: mPosition->mBoxSizing = aValue; break;
|
||||
case eCSSProperty_z_index: mPosition->mZIndex = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1349,7 +1414,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_right: mPosition->mOffset->mRight= aValue; break;
|
||||
case eCSSProperty_bottom: mPosition->mOffset->mBottom = aValue; break;
|
||||
case eCSSProperty_left: mPosition->mOffset->mLeft = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1364,7 +1429,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_list_style_type: mList->mType = aValue; break;
|
||||
case eCSSProperty_list_style_image: mList->mImage = aValue; break;
|
||||
case eCSSProperty_list_style_position: mList->mPosition = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1384,7 +1449,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_caption_side: mTable->mCaptionSide = aValue; break;
|
||||
case eCSSProperty_empty_cells: mTable->mEmptyCells = aValue; break;
|
||||
case eCSSProperty_table_layout: mTable->mLayout = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1404,7 +1469,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_page_break_after: mBreaks->mPageBreakAfter = aValue; break;
|
||||
case eCSSProperty_page_break_before: mBreaks->mPageBreakBefore = aValue; break;
|
||||
case eCSSProperty_page_break_inside: mBreaks->mPageBreakInside = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1418,7 +1483,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_marks: mPage->mMarks = aValue; break;
|
||||
case eCSSProperty_size_width: mPage->mSizeWidth = aValue; break;
|
||||
case eCSSProperty_size_height: mPage->mSizeHeight = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1463,8 +1528,34 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
CSS_IF_DELETE(mContent->mQuotes->mNext);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
// nsCSSUserInterface
|
||||
case eCSSProperty_user_input:
|
||||
case eCSSProperty_modify_content:
|
||||
case eCSSProperty_selection_style:
|
||||
case eCSSProperty_auto_select:
|
||||
case eCSSProperty_key_equivalent:
|
||||
case eCSSProperty_auto_tab:
|
||||
case eCSSProperty_resizer:
|
||||
CSS_ENSURE(UserInterface) {
|
||||
switch (aProperty) {
|
||||
case eCSSProperty_user_input: mUserInterface->mUserInput = aValue; break;
|
||||
case eCSSProperty_modify_content: mUserInterface->mModifyContent = aValue; break;
|
||||
case eCSSProperty_selection_style: mUserInterface->mSelectionStyle = aValue; break;
|
||||
case eCSSProperty_auto_select: mUserInterface->mAutoSelect = aValue; break;
|
||||
case eCSSProperty_key_equivalent:
|
||||
CSS_ENSURE_DATA(mUserInterface->mKeyEquivalent, nsCSSValueList) {
|
||||
mUserInterface->mKeyEquivalent->mValue = aValue;
|
||||
CSS_IF_DELETE(mUserInterface->mKeyEquivalent->mNext);
|
||||
}
|
||||
break;
|
||||
case eCSSProperty_auto_tab: mUserInterface->mAutoTab = aValue; break;
|
||||
case eCSSProperty_resizer: mUserInterface->mResizer = aValue; break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1510,7 +1601,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_stress: mAural->mStress = aValue; break;
|
||||
case eCSSProperty_voice_family: mAural->mVoiceFamily = aValue; break;
|
||||
case eCSSProperty_volume: mAural->mVolume = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1539,7 +1630,9 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_border_style:
|
||||
case eCSSProperty_border_width:
|
||||
NS_ERROR("can't append shorthand properties");
|
||||
default:
|
||||
// default: // XXX explicitly removing default case so compiler will help find missed props
|
||||
case eCSSProperty_UNKNOWN:
|
||||
case eCSSProperty_COUNT:
|
||||
result = NS_ERROR_ILLEGAL_VALUE;
|
||||
break;
|
||||
}
|
||||
@ -1612,6 +1705,13 @@ CSSDeclarationImpl::AppendStructValue(nsCSSProperty aProperty, void* aStruct)
|
||||
}
|
||||
break;
|
||||
|
||||
case eCSSProperty_key_equivalent:
|
||||
CSS_ENSURE(UserInterface) {
|
||||
CSS_IF_DELETE(mUserInterface->mKeyEquivalent);
|
||||
mUserInterface->mKeyEquivalent = (nsCSSValueList*)aStruct;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
NS_ERROR("not a struct property");
|
||||
result = NS_ERROR_ILLEGAL_VALUE;
|
||||
@ -1680,7 +1780,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_font_size, mFont->mSize);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_font_size_adjust, mFont->mSizeAdjust);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_font_stretch, mFont->mStretch);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1706,7 +1806,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_background_x_position, mColor->mBackPositionX);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_background_y_position, mColor->mBackPositionY);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_opacity, mColor->mOpacity);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1748,7 +1848,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_unicode_bidi, mText->mUnicodeBidi);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_line_height, mText->mLineHeight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_white_space, mText->mWhiteSpace);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1782,7 +1882,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_clear, mDisplay->mClear);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_overflow, mDisplay->mOverflow);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_visibility, mDisplay->mVisibility);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1801,7 +1901,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_clip_right, mDisplay->mClip->mRight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_clip_bottom, mDisplay->mClip->mBottom);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_clip_left, mDisplay->mClip->mLeft);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1823,7 +1923,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_margin_right, mMargin->mMargin->mRight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_margin_bottom, mMargin->mMargin->mBottom);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_margin_left, mMargin->mMargin->mLeft);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1844,7 +1944,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_padding_right, mMargin->mPadding->mRight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_padding_bottom, mMargin->mPadding->mBottom);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_padding_left, mMargin->mPadding->mLeft);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1865,7 +1965,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_border_right_width, mMargin->mBorderWidth->mRight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_border_bottom_width, mMargin->mBorderWidth->mBottom);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_border_left_width, mMargin->mBorderWidth->mLeft);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1886,7 +1986,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_border_right_color, mMargin->mBorderColor->mRight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_border_bottom_color, mMargin->mBorderColor->mBottom);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_border_left_color, mMargin->mBorderColor->mLeft);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1907,7 +2007,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_border_right_style, mMargin->mBorderStyle->mRight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_border_bottom_style, mMargin->mBorderStyle->mBottom);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_border_left_style, mMargin->mBorderStyle->mLeft);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1919,6 +2019,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
case eCSSProperty_outline_width:
|
||||
case eCSSProperty_outline_color:
|
||||
case eCSSProperty_outline_style:
|
||||
case eCSSProperty_float_edge:
|
||||
if (nsnull != mMargin) {
|
||||
CSS_ENSURE_IMPORTANT(Margin) {
|
||||
switch (aProperty) {
|
||||
@ -1926,7 +2027,8 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_outline_width, mMargin->mOutlineWidth);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_outline_color, mMargin->mOutlineColor);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_outline_style, mMargin->mOutlineStyle);
|
||||
default: break;
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_float_edge, mMargin->mFloatEdge);
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1940,6 +2042,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
case eCSSProperty_height:
|
||||
case eCSSProperty_min_height:
|
||||
case eCSSProperty_max_height:
|
||||
case eCSSProperty_box_sizing:
|
||||
case eCSSProperty_z_index:
|
||||
if (nsnull != mPosition) {
|
||||
CSS_ENSURE_IMPORTANT(Position) {
|
||||
@ -1951,8 +2054,9 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_height, mPosition->mHeight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_min_height, mPosition->mMinHeight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_max_height, mPosition->mMaxHeight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_box_sizing, mPosition->mBoxSizing);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_z_index, mPosition->mZIndex);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1971,7 +2075,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_right, mPosition->mOffset->mRight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_bottom, mPosition->mOffset->mBottom);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_left, mPosition->mOffset->mLeft);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1989,7 +2093,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_list_style_type, mList->mType);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_list_style_image, mList->mImage);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_list_style_position, mList->mPosition);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2011,7 +2115,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_caption_side, mTable->mCaptionSide);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_empty_cells, mTable->mEmptyCells);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_table_layout, mTable->mLayout);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2033,7 +2137,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_page_break_after, mBreaks->mPageBreakAfter);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_page_break_before, mBreaks->mPageBreakBefore);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_page_break_inside, mBreaks->mPageBreakInside);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2049,7 +2153,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_marks, mPage->mMarks);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_size_width, mPage->mSizeWidth);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_size_height, mPage->mSizeHeight);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2097,7 +2201,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_ENSURE_IMPORTANT(Content) {
|
||||
switch (aProperty) {
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_marker_offset, mContent->mMarkerOffset);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2115,6 +2219,40 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
}
|
||||
break;
|
||||
|
||||
// nsCSSUserInterface
|
||||
case eCSSProperty_user_input:
|
||||
case eCSSProperty_modify_content:
|
||||
case eCSSProperty_selection_style:
|
||||
case eCSSProperty_auto_select:
|
||||
case eCSSProperty_auto_tab:
|
||||
case eCSSProperty_resizer:
|
||||
if (nsnull != mUserInterface) {
|
||||
CSS_ENSURE_IMPORTANT(UserInterface) {
|
||||
switch (aProperty) {
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_user_input, mUserInterface->mUserInput);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_modify_content, mUserInterface->mModifyContent);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_selection_style, mUserInterface->mSelectionStyle);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_auto_select, mUserInterface->mAutoSelect);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_auto_tab, mUserInterface->mAutoTab);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_resizer, mUserInterface->mResizer);
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case eCSSProperty_key_equivalent:
|
||||
if (nsnull != mUserInterface) {
|
||||
if (nsnull != mUserInterface->mKeyEquivalent) {
|
||||
CSS_ENSURE_IMPORTANT(UserInterface) {
|
||||
CSS_IF_DELETE(mImportant->mUserInterface->mKeyEquivalent);
|
||||
mImportant->mUserInterface->mKeyEquivalent = mUserInterface->mKeyEquivalent;
|
||||
mUserInterface->mKeyEquivalent = nsnull;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
// nsCSSAural
|
||||
case eCSSProperty_azimuth:
|
||||
case eCSSProperty_elevation:
|
||||
@ -2153,7 +2291,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_stress, mAural->mStress);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_voice_family, mAural->mVoiceFamily);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_volume, mAural->mVolume);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2336,7 +2474,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_font_size: aValue = mFont->mSize; break;
|
||||
case eCSSProperty_font_size_adjust: aValue = mFont->mSizeAdjust; break;
|
||||
case eCSSProperty_font_stretch: aValue = mFont->mStretch; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2369,7 +2507,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
}
|
||||
break;
|
||||
case eCSSProperty_opacity: aValue = mColor->mOpacity; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2400,7 +2538,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_unicode_bidi: aValue = mText->mUnicodeBidi; break;
|
||||
case eCSSProperty_line_height: aValue = mText->mLineHeight; break;
|
||||
case eCSSProperty_white_space: aValue = mText->mWhiteSpace; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2418,7 +2556,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_text_shadow_x: aValue = mText->mTextShadow->mXOffset; break;
|
||||
case eCSSProperty_text_shadow_y: aValue = mText->mTextShadow->mYOffset; break;
|
||||
case eCSSProperty_text_shadow_radius: aValue = mText->mTextShadow->mRadius; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -2438,7 +2576,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_direction: aValue = mDisplay->mDirection; break;
|
||||
case eCSSProperty_visibility: aValue = mDisplay->mVisibility; break;
|
||||
case eCSSProperty_overflow: aValue = mDisplay->mOverflow; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2456,8 +2594,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_clip_right: aValue = mDisplay->mClip->mRight; break;
|
||||
case eCSSProperty_clip_bottom: aValue = mDisplay->mClip->mBottom; break;
|
||||
case eCSSProperty_clip_left: aValue = mDisplay->mClip->mLeft; break;
|
||||
default:
|
||||
break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2476,7 +2613,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_margin_right: aValue = mMargin->mMargin->mRight; break;
|
||||
case eCSSProperty_margin_bottom: aValue = mMargin->mMargin->mBottom; break;
|
||||
case eCSSProperty_margin_left: aValue = mMargin->mMargin->mLeft; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2494,7 +2631,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_padding_right: aValue = mMargin->mPadding->mRight; break;
|
||||
case eCSSProperty_padding_bottom: aValue = mMargin->mPadding->mBottom; break;
|
||||
case eCSSProperty_padding_left: aValue = mMargin->mPadding->mLeft; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2512,7 +2649,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_border_right_width: aValue = mMargin->mBorderWidth->mRight; break;
|
||||
case eCSSProperty_border_bottom_width: aValue = mMargin->mBorderWidth->mBottom; break;
|
||||
case eCSSProperty_border_left_width: aValue = mMargin->mBorderWidth->mLeft; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2530,7 +2667,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_border_right_color: aValue = mMargin->mBorderColor->mRight; break;
|
||||
case eCSSProperty_border_bottom_color: aValue = mMargin->mBorderColor->mBottom; break;
|
||||
case eCSSProperty_border_left_color: aValue = mMargin->mBorderColor->mLeft; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2548,7 +2685,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_border_right_style: aValue = mMargin->mBorderStyle->mRight; break;
|
||||
case eCSSProperty_border_bottom_style: aValue = mMargin->mBorderStyle->mBottom; break;
|
||||
case eCSSProperty_border_left_style: aValue = mMargin->mBorderStyle->mLeft; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2560,13 +2697,15 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_outline_width:
|
||||
case eCSSProperty_outline_color:
|
||||
case eCSSProperty_outline_style:
|
||||
case eCSSProperty_float_edge:
|
||||
if (nsnull != mMargin) {
|
||||
switch (aProperty) {
|
||||
case eCSSProperty__moz_border_radius: aValue = mMargin->mBorderRadius; break;
|
||||
case eCSSProperty_outline_width: aValue = mMargin->mOutlineWidth; break;
|
||||
case eCSSProperty_outline_color: aValue = mMargin->mOutlineColor; break;
|
||||
case eCSSProperty_outline_style: aValue = mMargin->mOutlineStyle; break;
|
||||
default: break;
|
||||
case eCSSProperty_float_edge: aValue = mMargin->mFloatEdge; break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2582,6 +2721,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_height:
|
||||
case eCSSProperty_min_height:
|
||||
case eCSSProperty_max_height:
|
||||
case eCSSProperty_box_sizing:
|
||||
case eCSSProperty_z_index:
|
||||
if (nsnull != mPosition) {
|
||||
switch (aProperty) {
|
||||
@ -2592,8 +2732,9 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_height: aValue = mPosition->mHeight; break;
|
||||
case eCSSProperty_min_height: aValue = mPosition->mMinHeight; break;
|
||||
case eCSSProperty_max_height: aValue = mPosition->mMaxHeight; break;
|
||||
case eCSSProperty_box_sizing: aValue = mPosition->mBoxSizing; break;
|
||||
case eCSSProperty_z_index: aValue = mPosition->mZIndex; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2611,7 +2752,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_right: aValue = mPosition->mOffset->mRight; break;
|
||||
case eCSSProperty_bottom: aValue = mPosition->mOffset->mBottom; break;
|
||||
case eCSSProperty_left: aValue = mPosition->mOffset->mLeft; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2628,7 +2769,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_list_style_type: aValue = mList->mType; break;
|
||||
case eCSSProperty_list_style_image: aValue = mList->mImage; break;
|
||||
case eCSSProperty_list_style_position: aValue = mList->mPosition; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2651,7 +2792,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_caption_side: aValue = mTable->mCaptionSide; break;
|
||||
case eCSSProperty_empty_cells: aValue = mTable->mEmptyCells; break;
|
||||
case eCSSProperty_table_layout: aValue = mTable->mLayout; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2674,7 +2815,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_page_break_after: aValue = mBreaks->mPageBreakAfter; break;
|
||||
case eCSSProperty_page_break_before: aValue = mBreaks->mPageBreakBefore; break;
|
||||
case eCSSProperty_page_break_inside: aValue = mBreaks->mPageBreakInside; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2691,7 +2832,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_marks: aValue = mPage->mMarks; break;
|
||||
case eCSSProperty_size_width: aValue = mPage->mSizeWidth; break;
|
||||
case eCSSProperty_size_height: aValue = mPage->mSizeHeight; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2734,8 +2875,36 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
aValue = mContent->mQuotes->mClose;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
aValue.Reset();
|
||||
}
|
||||
break;
|
||||
|
||||
// nsCSSUserInterface
|
||||
case eCSSProperty_user_input:
|
||||
case eCSSProperty_modify_content:
|
||||
case eCSSProperty_selection_style:
|
||||
case eCSSProperty_auto_select:
|
||||
case eCSSProperty_key_equivalent:
|
||||
case eCSSProperty_auto_tab:
|
||||
case eCSSProperty_resizer:
|
||||
if (nsnull != mUserInterface) {
|
||||
switch (aProperty) {
|
||||
case eCSSProperty_user_input: aValue = mUserInterface->mUserInput; break;
|
||||
case eCSSProperty_modify_content: aValue = mUserInterface->mModifyContent; break;
|
||||
case eCSSProperty_selection_style: aValue = mUserInterface->mSelectionStyle; break;
|
||||
case eCSSProperty_auto_select: aValue = mUserInterface->mAutoSelect; break;
|
||||
case eCSSProperty_key_equivalent:
|
||||
if (nsnull != mUserInterface->mKeyEquivalent) {
|
||||
aValue = mUserInterface->mKeyEquivalent->mValue;
|
||||
}
|
||||
break;
|
||||
case eCSSProperty_auto_tab: aValue = mUserInterface->mAutoTab; break;
|
||||
case eCSSProperty_resizer: aValue = mUserInterface->mResizer; break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2784,7 +2953,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_stress: aValue = mAural->mStress; break;
|
||||
case eCSSProperty_voice_family: aValue = mAural->mVoiceFamily; break;
|
||||
case eCSSProperty_volume: aValue = mAural->mVolume; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -3256,6 +3425,18 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsString& aValue)
|
||||
} while (nsnull != quotes);
|
||||
}
|
||||
break;
|
||||
case eCSSProperty_key_equivalent:
|
||||
if ((nsnull != mUserInterface) && (nsnull != mUserInterface->mKeyEquivalent)) {
|
||||
nsCSSValueList* keyEquiv = mUserInterface->mKeyEquivalent;
|
||||
do {
|
||||
AppendValueToString(eCSSProperty_key_equivalent, keyEquiv->mValue, aValue);
|
||||
keyEquiv = keyEquiv->mNext;
|
||||
if (nsnull != keyEquiv) {
|
||||
aValue.Append(' ');
|
||||
}
|
||||
} while (nsnull != keyEquiv);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
AppendValueToString(aProperty, aValue);
|
||||
break;
|
||||
@ -3375,6 +3556,9 @@ void CSSDeclarationImpl::List(FILE* out, PRInt32 aIndent) const
|
||||
if (nsnull != mContent) {
|
||||
mContent->List(out);
|
||||
}
|
||||
if (nsnull != mUserInterface) {
|
||||
mUserInterface->List(out);
|
||||
}
|
||||
if (nsnull != mAural) {
|
||||
mAural->List(out);
|
||||
}
|
||||
|
||||
@ -125,8 +125,6 @@ nsCSSKeywords::LookupKeyword(const nsStr& aKeyword)
|
||||
const nsCString&
|
||||
nsCSSKeywords::GetStringValue(nsCSSKeyword aKeyword)
|
||||
{
|
||||
nsString* value = nsnull;
|
||||
|
||||
NS_ASSERTION(gKeywordArray, "no lookup table, needs addref");
|
||||
if ((eCSSKeyword_UNKNOWN < aKeyword) &&
|
||||
(aKeyword < eCSSKeyword_COUNT) && gKeywordArray) {
|
||||
|
||||
@ -2588,6 +2588,15 @@ PRBool CSSParserImpl::ParseProperty(PRInt32& aErrorCode,
|
||||
case eCSSProperty_clip_left:
|
||||
case eCSSProperty_clip_right:
|
||||
case eCSSProperty_clip_top:
|
||||
case eCSSProperty_play_during_flags:
|
||||
case eCSSProperty_quotes_close:
|
||||
case eCSSProperty_quotes_open:
|
||||
case eCSSProperty_size_height:
|
||||
case eCSSProperty_size_width:
|
||||
case eCSSProperty_text_shadow_color:
|
||||
case eCSSProperty_text_shadow_radius:
|
||||
case eCSSProperty_text_shadow_x:
|
||||
case eCSSProperty_text_shadow_y:
|
||||
// The user can't use these
|
||||
return PR_FALSE;
|
||||
default:
|
||||
@ -2700,6 +2709,7 @@ PRBool CSSParserImpl::ParseSingleValueProperty(PRInt32& aErrorCode,
|
||||
nsCSSProperty aPropID)
|
||||
{
|
||||
switch (aPropID) {
|
||||
case eCSSProperty_UNKNOWN:
|
||||
case eCSSProperty_background:
|
||||
case eCSSProperty_background_position:
|
||||
case eCSSProperty_border:
|
||||
@ -2723,12 +2733,38 @@ PRBool CSSParserImpl::ParseSingleValueProperty(PRInt32& aErrorCode,
|
||||
case eCSSProperty_outline:
|
||||
case eCSSProperty_padding:
|
||||
case eCSSProperty_pause:
|
||||
case eCSSProperty_play_during:
|
||||
case eCSSProperty_quotes:
|
||||
case eCSSProperty_size:
|
||||
case eCSSProperty_text_shadow:
|
||||
case eCSSProperty_COUNT:
|
||||
NS_ERROR("not a single value property");
|
||||
return PR_FALSE;
|
||||
|
||||
case eCSSProperty_border_x_spacing:
|
||||
case eCSSProperty_border_y_spacing:
|
||||
case eCSSProperty_clip_bottom:
|
||||
case eCSSProperty_clip_left:
|
||||
case eCSSProperty_clip_right:
|
||||
case eCSSProperty_clip_top:
|
||||
case eCSSProperty_play_during_flags:
|
||||
case eCSSProperty_quotes_close:
|
||||
case eCSSProperty_quotes_open:
|
||||
case eCSSProperty_size_height:
|
||||
case eCSSProperty_size_width:
|
||||
case eCSSProperty_text_shadow_color:
|
||||
case eCSSProperty_text_shadow_radius:
|
||||
case eCSSProperty_text_shadow_x:
|
||||
case eCSSProperty_text_shadow_y:
|
||||
NS_ERROR("not currently parsed here");
|
||||
return PR_FALSE;
|
||||
|
||||
case eCSSProperty_auto_select:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_HOK,
|
||||
nsCSSProps::kAutoSelectKTable);
|
||||
case eCSSProperty_auto_tab:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_AHK | VARIANT_NONE,
|
||||
nsCSSProps::kAutoTabKTable);
|
||||
case eCSSProperty_azimuth:
|
||||
return ParseAzimuth(aErrorCode, aValue);
|
||||
case eCSSProperty_background_attachment:
|
||||
@ -2774,6 +2810,9 @@ PRBool CSSParserImpl::ParseSingleValueProperty(PRInt32& aErrorCode,
|
||||
case eCSSProperty_left:
|
||||
case eCSSProperty_right:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_AHLP, nsnull);
|
||||
case eCSSProperty_box_sizing:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_HK,
|
||||
nsCSSProps::kBoxSizingKTable);
|
||||
case eCSSProperty_height:
|
||||
case eCSSProperty_width:
|
||||
return ParsePositiveVariant(aErrorCode, aValue, VARIANT_AHLP, nsnull);
|
||||
@ -2803,6 +2842,9 @@ PRBool CSSParserImpl::ParseSingleValueProperty(PRInt32& aErrorCode,
|
||||
case eCSSProperty_float:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_HOK,
|
||||
nsCSSProps::kFloatKTable);
|
||||
case eCSSProperty_float_edge:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_HK,
|
||||
nsCSSProps::kFloatEdgeKTable);
|
||||
case eCSSProperty_font_family:
|
||||
return ParseFamily(aErrorCode, aValue);
|
||||
case eCSSProperty_font_size:
|
||||
@ -2826,6 +2868,9 @@ PRBool CSSParserImpl::ParseSingleValueProperty(PRInt32& aErrorCode,
|
||||
case eCSSProperty_letter_spacing:
|
||||
case eCSSProperty_word_spacing:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_HL | VARIANT_NORMAL, nsnull);
|
||||
case eCSSProperty_key_equivalent:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_HOK,
|
||||
nsCSSProps::kKeyEquivalentKTable);
|
||||
case eCSSProperty_line_height:
|
||||
return ParsePositiveVariant(aErrorCode, aValue, VARIANT_HLPN | VARIANT_NORMAL, nsnull);
|
||||
case eCSSProperty_list_style_image:
|
||||
@ -2849,6 +2894,9 @@ PRBool CSSParserImpl::ParseSingleValueProperty(PRInt32& aErrorCode,
|
||||
case eCSSProperty_min_height:
|
||||
case eCSSProperty_min_width:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_HLP, nsnull);
|
||||
case eCSSProperty_modify_content:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_HK,
|
||||
nsCSSProps::kModifyContentKTable);
|
||||
case eCSSProperty_opacity:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_HPN, nsnull);
|
||||
case eCSSProperty_orphans:
|
||||
@ -2889,8 +2937,14 @@ PRBool CSSParserImpl::ParseSingleValueProperty(PRInt32& aErrorCode,
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_HN, nsnull);
|
||||
case eCSSProperty_position:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_HK, nsCSSProps::kPositionKTable);
|
||||
case eCSSProperty_resizer:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_AHK | VARIANT_NONE,
|
||||
nsCSSProps::kResizerKTable);
|
||||
case eCSSProperty_richness:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_HN, nsnull);
|
||||
case eCSSProperty_selection_style:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_HOK,
|
||||
nsCSSProps::kSelectionStyleKTable);
|
||||
case eCSSProperty_speak:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_HMK | VARIANT_NONE,
|
||||
nsCSSProps::kSpeakKTable);
|
||||
@ -2924,6 +2978,9 @@ PRBool CSSParserImpl::ParseSingleValueProperty(PRInt32& aErrorCode,
|
||||
case eCSSProperty_unicode_bidi:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_HMK,
|
||||
nsCSSProps::kUnicodeBidiKTable);
|
||||
case eCSSProperty_user_input:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_AHK | VARIANT_NONE,
|
||||
nsCSSProps::kUserInputKTable);
|
||||
case eCSSProperty_vertical_align:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_HKLP,
|
||||
nsCSSProps::kVerticalAlignKTable);
|
||||
@ -2940,9 +2997,9 @@ PRBool CSSParserImpl::ParseSingleValueProperty(PRInt32& aErrorCode,
|
||||
nsCSSProps::kWhitespaceKTable);
|
||||
case eCSSProperty_z_index:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_AHI, nsnull);
|
||||
default:
|
||||
break;
|
||||
}
|
||||
// explicitly do NOT have a default case to let the compiler
|
||||
// help find missing properties
|
||||
return PR_FALSE;
|
||||
}
|
||||
|
||||
|
||||
@ -294,6 +294,7 @@ const PRInt32 nsCSSProps::kDisplayKTable[] = {
|
||||
eCSSKeyword_table_column, NS_STYLE_DISPLAY_TABLE_COLUMN,
|
||||
eCSSKeyword_table_cell, NS_STYLE_DISPLAY_TABLE_CELL,
|
||||
eCSSKeyword_table_caption, NS_STYLE_DISPLAY_TABLE_CAPTION,
|
||||
eCSSKeyword_menu, NS_STYLE_DISPLAY_MENU,
|
||||
-1,-1
|
||||
};
|
||||
|
||||
@ -645,6 +646,9 @@ static const PRInt32 kBackgroundYPositionKTable[] = {
|
||||
};
|
||||
|
||||
switch (aProp) {
|
||||
|
||||
case eCSSProperty__moz_border_radius:
|
||||
break;
|
||||
|
||||
case eCSSProperty_auto_select:
|
||||
return SearchKeywordTable(aValue, kAutoSelectKTable);
|
||||
|
||||
@ -63,6 +63,7 @@ static NS_DEFINE_IID(kCSSListSID, NS_CSS_LIST_SID);
|
||||
static NS_DEFINE_IID(kCSSDisplaySID, NS_CSS_DISPLAY_SID);
|
||||
static NS_DEFINE_IID(kCSSTableSID, NS_CSS_TABLE_SID);
|
||||
static NS_DEFINE_IID(kCSSContentSID, NS_CSS_CONTENT_SID);
|
||||
static NS_DEFINE_IID(kCSSUserInterfaceSID, NS_CSS_USER_INTERFACE_SID);
|
||||
|
||||
// -- nsCSSSelector -------------------------------
|
||||
|
||||
@ -1921,6 +1922,14 @@ void MapDeclarationInto(nsICSSDeclaration* aDeclaration,
|
||||
else if (eCSSUnit_Inherit == ourMargin->mOutlineStyle.GetUnit()) {
|
||||
spacing->SetOutlineStyle(parentSpacing->GetOutlineStyle());
|
||||
}
|
||||
|
||||
// float-edge: enum, inherit
|
||||
if (eCSSUnit_Enumerated == ourMargin->mFloatEdge.GetUnit()) {
|
||||
spacing->mFloatEdge = ourMargin->mFloatEdge.GetIntValue();
|
||||
}
|
||||
else if (eCSSUnit_Inherit == ourMargin->mFloatEdge.GetUnit()) {
|
||||
spacing->mFloatEdge = parentSpacing->mFloatEdge;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1975,6 +1984,14 @@ void MapDeclarationInto(nsICSSDeclaration* aDeclaration,
|
||||
}
|
||||
}
|
||||
|
||||
// box-sizing: enum, inherit
|
||||
if (eCSSUnit_Enumerated == ourPosition->mBoxSizing.GetUnit()) {
|
||||
position->mBoxSizing = ourPosition->mBoxSizing.GetIntValue();
|
||||
}
|
||||
else if (eCSSUnit_Inherit == ourPosition->mBoxSizing.GetUnit()) {
|
||||
position->mBoxSizing = parentPosition->mBoxSizing;
|
||||
}
|
||||
|
||||
// z-index
|
||||
SetCoord(ourPosition->mZIndex, position->mZIndex, SETCOORD_IAH, font->mFont, nsnull);
|
||||
}
|
||||
@ -2289,6 +2306,106 @@ void MapDeclarationInto(nsICSSDeclaration* aDeclaration,
|
||||
}
|
||||
}
|
||||
|
||||
nsCSSUserInterface* ourUI;
|
||||
if (NS_OK == aDeclaration->GetData(kCSSUserInterfaceSID, (nsCSSStruct**)&ourUI)) {
|
||||
if (nsnull != ourUI) {
|
||||
// Get our user interface style and our parent's user interface style
|
||||
nsStyleUserInterface* ui = (nsStyleUserInterface*) aContext->GetMutableStyleData(eStyleStruct_UserInterface);
|
||||
const nsStyleUserInterface* parentUI = ui;
|
||||
if (nsnull != parentContext) {
|
||||
parentUI = (const nsStyleUserInterface*)parentContext->GetStyleData(eStyleStruct_UserInterface);
|
||||
}
|
||||
|
||||
// user-input: auto, none, enum, inherit
|
||||
if (eCSSUnit_Enumerated == ourUI->mUserInput.GetUnit()) {
|
||||
ui->mUserInput = ourUI->mUserInput.GetIntValue();
|
||||
}
|
||||
else if (eCSSUnit_Auto == ourUI->mUserInput.GetUnit()) {
|
||||
ui->mUserInput = NS_STYLE_USER_INPUT_AUTO;
|
||||
}
|
||||
else if (eCSSUnit_None == ourUI->mUserInput.GetUnit()) {
|
||||
ui->mUserInput = NS_STYLE_USER_INPUT_NONE;
|
||||
}
|
||||
else if (eCSSUnit_Inherit == ourUI->mUserInput.GetUnit()) {
|
||||
ui->mUserInput = parentUI->mUserInput;
|
||||
}
|
||||
|
||||
// modify-content: enum, inherit
|
||||
if (eCSSUnit_Enumerated == ourUI->mModifyContent.GetUnit()) {
|
||||
ui->mModifyContent = ourUI->mModifyContent.GetIntValue();
|
||||
}
|
||||
else if (eCSSUnit_Inherit == ourUI->mModifyContent.GetUnit()) {
|
||||
ui->mModifyContent = parentUI->mModifyContent;
|
||||
}
|
||||
|
||||
// selection-style: none, enum, inherit
|
||||
if (eCSSUnit_Enumerated == ourUI->mSelectionStyle.GetUnit()) {
|
||||
ui->mSelectionStyle = ourUI->mSelectionStyle.GetIntValue();
|
||||
}
|
||||
else if (eCSSUnit_None == ourUI->mSelectionStyle.GetUnit()) {
|
||||
ui->mSelectionStyle = NS_STYLE_SELECTION_STYLE_NONE;
|
||||
}
|
||||
else if (eCSSUnit_Inherit == ourUI->mSelectionStyle.GetUnit()) {
|
||||
ui->mSelectionStyle = parentUI->mSelectionStyle;
|
||||
}
|
||||
|
||||
// auto-select: none, enum, inherit
|
||||
if (eCSSUnit_Enumerated == ourUI->mAutoSelect.GetUnit()) {
|
||||
ui->mAutoSelect = ourUI->mAutoSelect.GetIntValue();
|
||||
}
|
||||
else if (eCSSUnit_None == ourUI->mAutoSelect.GetUnit()) {
|
||||
ui->mAutoSelect = NS_STYLE_AUTO_SELECT_NONE;
|
||||
}
|
||||
else if (eCSSUnit_Inherit == ourUI->mAutoSelect.GetUnit()) {
|
||||
ui->mAutoSelect = parentUI->mAutoSelect;
|
||||
}
|
||||
|
||||
// key-equivalent: none, enum XXX, inherit
|
||||
nsCSSValueList* keyEquiv = ourUI->mKeyEquivalent;
|
||||
if (keyEquiv) {
|
||||
// XXX need to deal with multiple values
|
||||
if (eCSSUnit_Enumerated == keyEquiv->mValue.GetUnit()) {
|
||||
ui->mKeyEquivalent = PRUnichar(0); // XXX To be implemented
|
||||
}
|
||||
else if (eCSSUnit_None == keyEquiv->mValue.GetUnit()) {
|
||||
ui->mKeyEquivalent = PRUnichar(0);
|
||||
}
|
||||
else if (eCSSUnit_Inherit == keyEquiv->mValue.GetUnit()) {
|
||||
ui->mKeyEquivalent = parentUI->mKeyEquivalent;
|
||||
}
|
||||
}
|
||||
|
||||
// auto-tab: auto, none, enum, inherit
|
||||
if (eCSSUnit_Enumerated == ourUI->mAutoTab.GetUnit()) {
|
||||
ui->mAutoTab = ourUI->mAutoTab.GetIntValue();
|
||||
}
|
||||
else if (eCSSUnit_Auto == ourUI->mAutoTab.GetUnit()) {
|
||||
ui->mAutoTab = NS_STYLE_AUTO_TAB_AUTO;
|
||||
}
|
||||
else if (eCSSUnit_None == ourUI->mAutoTab.GetUnit()) {
|
||||
ui->mAutoTab = NS_STYLE_AUTO_TAB_NONE;
|
||||
}
|
||||
else if (eCSSUnit_Inherit == ourUI->mAutoTab.GetUnit()) {
|
||||
ui->mAutoTab = parentUI->mAutoTab;
|
||||
}
|
||||
|
||||
// resizer: auto, none, enum, inherit
|
||||
if (eCSSUnit_Enumerated == ourUI->mResizer.GetUnit()) {
|
||||
ui->mResizer = ourUI->mResizer.GetIntValue();
|
||||
}
|
||||
else if (eCSSUnit_Auto == ourUI->mResizer.GetUnit()) {
|
||||
ui->mResizer = NS_STYLE_RESIZER_AUTO;
|
||||
}
|
||||
else if (eCSSUnit_None == ourUI->mResizer.GetUnit()) {
|
||||
ui->mResizer = NS_STYLE_RESIZER_NONE;
|
||||
}
|
||||
else if (eCSSUnit_Inherit == ourUI->mResizer.GetUnit()) {
|
||||
ui->mResizer = parentUI->mResizer;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
NS_IF_RELEASE(parentContext);
|
||||
}
|
||||
}
|
||||
|
||||
@ -78,6 +78,10 @@ struct nsCSSStruct {
|
||||
#define NS_CSS_CONTENT_SID \
|
||||
{0x1629ef70, 0x5a3b, 0x11d2, {0x80, 0x3b, 0x00, 0x60, 0x08, 0x15, 0x9b, 0x5a}}
|
||||
|
||||
// SID for the nsCSSUserInterface struct {4397c3a0-3efe-11d3-8060-006008159b5a}
|
||||
#define NS_CSS_USER_INTERFACE_SID \
|
||||
{0x4397c3a0, 0x3efe, 0x11d3, {0x80, 0x60, 0x00, 0x60, 0x08, 0x15, 0x9b, 0x5a}}
|
||||
|
||||
// SID for the nsCSSAural struct {166d2bb0-5a3b-11d2-803b-006008159b5a}
|
||||
#define NS_CSS_AURAL_SID \
|
||||
{0x166d2bb0, 0x5a3b, 0x11d2, {0x80, 0x3b, 0x00, 0x60, 0x08, 0x15, 0x9b, 0x5a}}
|
||||
@ -204,13 +208,14 @@ struct nsCSSMargin : public nsCSSStruct {
|
||||
|
||||
nsCSSRect* mMargin;
|
||||
nsCSSRect* mPadding;
|
||||
nsCSSRect* mBorderWidth; // CHANGED
|
||||
nsCSSRect* mBorderColor; // CHANGED
|
||||
nsCSSRect* mBorderStyle; // CHANGED
|
||||
nsCSSValue mBorderRadius; // NEW (extension)
|
||||
nsCSSValue mOutlineWidth; // NEW
|
||||
nsCSSValue mOutlineColor; // NEW
|
||||
nsCSSValue mOutlineStyle; // NEW
|
||||
nsCSSRect* mBorderWidth;
|
||||
nsCSSRect* mBorderColor;
|
||||
nsCSSRect* mBorderStyle;
|
||||
nsCSSValue mBorderRadius; // (extension)
|
||||
nsCSSValue mOutlineWidth;
|
||||
nsCSSValue mOutlineColor;
|
||||
nsCSSValue mOutlineStyle;
|
||||
nsCSSValue mFloatEdge; // NEW
|
||||
};
|
||||
|
||||
struct nsCSSPosition : public nsCSSStruct {
|
||||
@ -223,12 +228,13 @@ struct nsCSSPosition : public nsCSSStruct {
|
||||
|
||||
nsCSSValue mPosition;
|
||||
nsCSSValue mWidth;
|
||||
nsCSSValue mMinWidth; // NEW
|
||||
nsCSSValue mMaxWidth; // NEW
|
||||
nsCSSValue mMinWidth;
|
||||
nsCSSValue mMaxWidth;
|
||||
nsCSSValue mHeight;
|
||||
nsCSSValue mMinHeight; // NEW
|
||||
nsCSSValue mMaxHeight; // NEW
|
||||
nsCSSRect* mOffset; // NEW
|
||||
nsCSSValue mMinHeight;
|
||||
nsCSSValue mMaxHeight;
|
||||
nsCSSValue mBoxSizing; // NEW
|
||||
nsCSSRect* mOffset;
|
||||
nsCSSValue mZIndex;
|
||||
};
|
||||
|
||||
@ -310,7 +316,7 @@ struct nsCSSQuotes {
|
||||
nsCSSQuotes* mNext;
|
||||
};
|
||||
|
||||
struct nsCSSContent : public nsCSSStruct { // NEW
|
||||
struct nsCSSContent : public nsCSSStruct {
|
||||
nsCSSContent(void);
|
||||
nsCSSContent(const nsCSSContent& aCopy);
|
||||
virtual ~nsCSSContent(void);
|
||||
@ -325,6 +331,23 @@ struct nsCSSContent : public nsCSSStruct { // NEW
|
||||
nsCSSQuotes* mQuotes;
|
||||
};
|
||||
|
||||
struct nsCSSUserInterface : public nsCSSStruct { // NEW
|
||||
nsCSSUserInterface(void);
|
||||
nsCSSUserInterface(const nsCSSUserInterface& aCopy);
|
||||
virtual ~nsCSSUserInterface(void);
|
||||
|
||||
const nsID& GetID(void);
|
||||
void List(FILE* out = stdout, PRInt32 aIndent = 0) const;
|
||||
|
||||
nsCSSValue mUserInput;
|
||||
nsCSSValue mModifyContent;
|
||||
nsCSSValue mSelectionStyle;
|
||||
nsCSSValue mAutoSelect;
|
||||
nsCSSValueList* mKeyEquivalent;
|
||||
nsCSSValue mAutoTab;
|
||||
nsCSSValue mResizer;
|
||||
};
|
||||
|
||||
struct nsCSSAural : public nsCSSStruct { // NEW
|
||||
nsCSSAural(void);
|
||||
nsCSSAural(const nsCSSAural& aCopy);
|
||||
|
||||
@ -38,6 +38,7 @@ static NS_DEFINE_IID(kCSSTableSID, NS_CSS_TABLE_SID);
|
||||
static NS_DEFINE_IID(kCSSBreaksSID, NS_CSS_BREAKS_SID);
|
||||
static NS_DEFINE_IID(kCSSPageSID, NS_CSS_PAGE_SID);
|
||||
static NS_DEFINE_IID(kCSSContentSID, NS_CSS_CONTENT_SID);
|
||||
static NS_DEFINE_IID(kCSSUserInterfaceSID, NS_CSS_USER_INTERFACE_SID);
|
||||
static NS_DEFINE_IID(kCSSAuralSID, NS_CSS_AURAL_SID);
|
||||
static NS_DEFINE_IID(kICSSDeclarationIID, NS_ICSS_DECLARATION_IID);
|
||||
|
||||
@ -379,7 +380,8 @@ nsCSSMargin::nsCSSMargin(const nsCSSMargin& aCopy)
|
||||
mBorderRadius(aCopy.mBorderRadius),
|
||||
mOutlineWidth(aCopy.mOutlineWidth),
|
||||
mOutlineColor(aCopy.mOutlineColor),
|
||||
mOutlineStyle(aCopy.mOutlineStyle)
|
||||
mOutlineStyle(aCopy.mOutlineStyle),
|
||||
mFloatEdge(aCopy.mFloatEdge)
|
||||
{
|
||||
CSS_IF_COPY(mMargin, nsCSSRect);
|
||||
CSS_IF_COPY(mPadding, nsCSSRect);
|
||||
@ -445,6 +447,7 @@ void nsCSSMargin::List(FILE* out, PRInt32 aIndent) const
|
||||
mOutlineWidth.AppendToString(buffer, eCSSProperty_outline_width);
|
||||
mOutlineColor.AppendToString(buffer, eCSSProperty_outline_color);
|
||||
mOutlineStyle.AppendToString(buffer, eCSSProperty_outline_style);
|
||||
mFloatEdge.AppendToString(buffer, eCSSProperty_float_edge);
|
||||
fputs(buffer, out);
|
||||
}
|
||||
|
||||
@ -463,6 +466,7 @@ nsCSSPosition::nsCSSPosition(const nsCSSPosition& aCopy)
|
||||
mHeight(aCopy.mHeight),
|
||||
mMinHeight(aCopy.mMinHeight),
|
||||
mMaxHeight(aCopy.mMaxHeight),
|
||||
mBoxSizing(aCopy.mBoxSizing),
|
||||
mOffset(nsnull),
|
||||
mZIndex(aCopy.mZIndex)
|
||||
{
|
||||
@ -492,6 +496,7 @@ void nsCSSPosition::List(FILE* out, PRInt32 aIndent) const
|
||||
mHeight.AppendToString(buffer, eCSSProperty_height);
|
||||
mMinHeight.AppendToString(buffer, eCSSProperty_min_height);
|
||||
mMaxHeight.AppendToString(buffer, eCSSProperty_max_height);
|
||||
mBoxSizing.AppendToString(buffer, eCSSProperty_box_sizing);
|
||||
mZIndex.AppendToString(buffer, eCSSProperty_z_index);
|
||||
fputs(buffer, out);
|
||||
|
||||
@ -765,6 +770,55 @@ void nsCSSContent::List(FILE* out, PRInt32 aIndent) const
|
||||
fputs(buffer, out);
|
||||
}
|
||||
|
||||
// --- nsCSSUserInterface -----------------
|
||||
|
||||
nsCSSUserInterface::nsCSSUserInterface(void)
|
||||
: mKeyEquivalent(nsnull)
|
||||
{
|
||||
}
|
||||
|
||||
nsCSSUserInterface::nsCSSUserInterface(const nsCSSUserInterface& aCopy)
|
||||
: mUserInput(aCopy.mUserInput),
|
||||
mModifyContent(aCopy.mModifyContent),
|
||||
mSelectionStyle(aCopy.mSelectionStyle),
|
||||
mAutoSelect(aCopy.mAutoSelect),
|
||||
mKeyEquivalent(nsnull),
|
||||
mAutoTab(aCopy.mAutoTab),
|
||||
mResizer(aCopy.mResizer)
|
||||
{
|
||||
CSS_IF_COPY(mKeyEquivalent, nsCSSValueList);
|
||||
}
|
||||
|
||||
nsCSSUserInterface::~nsCSSUserInterface(void)
|
||||
{
|
||||
CSS_IF_DELETE(mKeyEquivalent);
|
||||
}
|
||||
|
||||
const nsID& nsCSSUserInterface::GetID(void)
|
||||
{
|
||||
return kCSSUserInterfaceSID;
|
||||
}
|
||||
|
||||
void nsCSSUserInterface::List(FILE* out, PRInt32 aIndent) const
|
||||
{
|
||||
for (PRInt32 index = aIndent; --index >= 0; ) fputs(" ", out);
|
||||
|
||||
nsAutoString buffer;
|
||||
|
||||
mUserInput.AppendToString(buffer, eCSSProperty_user_input);
|
||||
mModifyContent.AppendToString(buffer, eCSSProperty_modify_content);
|
||||
mSelectionStyle.AppendToString(buffer, eCSSProperty_selection_style);
|
||||
mAutoSelect.AppendToString(buffer, eCSSProperty_auto_select);
|
||||
nsCSSValueList* keyEquiv = mKeyEquivalent;
|
||||
while (nsnull != keyEquiv) {
|
||||
keyEquiv->mValue.AppendToString(buffer, eCSSProperty_key_equivalent);
|
||||
keyEquiv= keyEquiv->mNext;
|
||||
}
|
||||
mAutoTab.AppendToString(buffer, eCSSProperty_auto_tab);
|
||||
mResizer.AppendToString(buffer, eCSSProperty_resizer);
|
||||
fputs(buffer, out);
|
||||
}
|
||||
|
||||
// --- nsCSSAural -----------------
|
||||
|
||||
nsCSSAural::nsCSSAural(void)
|
||||
@ -893,6 +947,7 @@ protected:
|
||||
nsCSSBreaks* mBreaks;
|
||||
nsCSSPage* mPage;
|
||||
nsCSSContent* mContent;
|
||||
nsCSSUserInterface* mUserInterface;
|
||||
nsCSSAural* mAural;
|
||||
|
||||
CSSDeclarationImpl* mImportant;
|
||||
@ -934,6 +989,7 @@ CSSDeclarationImpl::CSSDeclarationImpl(const CSSDeclarationImpl& aCopy)
|
||||
DECL_IF_COPY(Breaks);
|
||||
DECL_IF_COPY(Page);
|
||||
DECL_IF_COPY(Content);
|
||||
DECL_IF_COPY(UserInterface);
|
||||
DECL_IF_COPY(Aural);
|
||||
|
||||
if (aCopy.mImportant) {
|
||||
@ -970,6 +1026,7 @@ CSSDeclarationImpl::~CSSDeclarationImpl(void)
|
||||
CSS_IF_DELETE(mBreaks);
|
||||
CSS_IF_DELETE(mPage);
|
||||
CSS_IF_DELETE(mContent);
|
||||
CSS_IF_DELETE(mUserInterface);
|
||||
CSS_IF_DELETE(mAural);
|
||||
|
||||
NS_IF_RELEASE(mImportant);
|
||||
@ -1005,6 +1062,7 @@ CSSDeclarationImpl::GetData(const nsID& aSID, nsCSSStruct** aDataPtr)
|
||||
CSS_IF_GET_ELSE(aSID, Breaks, aDataPtr)
|
||||
CSS_IF_GET_ELSE(aSID, Page, aDataPtr)
|
||||
CSS_IF_GET_ELSE(aSID, Content, aDataPtr)
|
||||
CSS_IF_GET_ELSE(aSID, UserInterface, aDataPtr)
|
||||
CSS_IF_GET_ELSE(aSID, Aural, aDataPtr) {
|
||||
return NS_NOINTERFACE;
|
||||
}
|
||||
@ -1035,6 +1093,7 @@ CSSDeclarationImpl::EnsureData(const nsID& aSID, nsCSSStruct** aDataPtr)
|
||||
CSS_IF_ENSURE_ELSE(aSID, Breaks, aDataPtr)
|
||||
CSS_IF_ENSURE_ELSE(aSID, Page, aDataPtr)
|
||||
CSS_IF_ENSURE_ELSE(aSID, Content, aDataPtr)
|
||||
CSS_IF_ENSURE_ELSE(aSID, UserInterface, aDataPtr)
|
||||
CSS_IF_ENSURE_ELSE(aSID, Aural, aDataPtr) {
|
||||
return NS_NOINTERFACE;
|
||||
}
|
||||
@ -1071,6 +1130,8 @@ CSSDeclarationImpl::EnsureData(const nsID& aSID, nsCSSStruct** aDataPtr)
|
||||
} \
|
||||
else
|
||||
|
||||
#define CSS_BOGUS_DEFAULT default: NS_ERROR("should never happen"); break;
|
||||
|
||||
NS_IMETHODIMP
|
||||
CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValue)
|
||||
{
|
||||
@ -1094,7 +1155,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_font_size: mFont->mSize = aValue; break;
|
||||
case eCSSProperty_font_size_adjust: mFont->mSizeAdjust = aValue; break;
|
||||
case eCSSProperty_font_stretch: mFont->mStretch = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1125,7 +1186,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
}
|
||||
break;
|
||||
case eCSSProperty_opacity: mColor->mOpacity = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1153,7 +1214,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_unicode_bidi: mText->mUnicodeBidi = aValue; break;
|
||||
case eCSSProperty_line_height: mText->mLineHeight = aValue; break;
|
||||
case eCSSProperty_white_space: mText->mWhiteSpace = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1169,7 +1230,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_text_shadow_radius: mText->mTextShadow->mRadius = aValue; break;
|
||||
case eCSSProperty_text_shadow_x: mText->mTextShadow->mXOffset = aValue; break;
|
||||
case eCSSProperty_text_shadow_y: mText->mTextShadow->mYOffset = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
CSS_IF_DELETE(mText->mTextShadow->mNext);
|
||||
}
|
||||
@ -1191,7 +1252,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_direction: mDisplay->mDirection = aValue; break;
|
||||
case eCSSProperty_visibility: mDisplay->mVisibility = aValue; break;
|
||||
case eCSSProperty_overflow: mDisplay->mOverflow = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1207,7 +1268,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_clip_right: mDisplay->mClip->mRight = aValue; break;
|
||||
case eCSSProperty_clip_bottom: mDisplay->mClip->mBottom = aValue; break;
|
||||
case eCSSProperty_clip_left: mDisplay->mClip->mLeft = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1225,7 +1286,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_margin_right: mMargin->mMargin->mRight = aValue; break;
|
||||
case eCSSProperty_margin_bottom: mMargin->mMargin->mBottom = aValue; break;
|
||||
case eCSSProperty_margin_left: mMargin->mMargin->mLeft = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1242,7 +1303,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_padding_right: mMargin->mPadding->mRight = aValue; break;
|
||||
case eCSSProperty_padding_bottom: mMargin->mPadding->mBottom = aValue; break;
|
||||
case eCSSProperty_padding_left: mMargin->mPadding->mLeft = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1259,7 +1320,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_border_right_width: mMargin->mBorderWidth->mRight = aValue; break;
|
||||
case eCSSProperty_border_bottom_width: mMargin->mBorderWidth->mBottom = aValue; break;
|
||||
case eCSSProperty_border_left_width: mMargin->mBorderWidth->mLeft = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1276,7 +1337,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_border_right_color: mMargin->mBorderColor->mRight = aValue; break;
|
||||
case eCSSProperty_border_bottom_color: mMargin->mBorderColor->mBottom = aValue; break;
|
||||
case eCSSProperty_border_left_color: mMargin->mBorderColor->mLeft = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1293,7 +1354,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_border_right_style: mMargin->mBorderStyle->mRight = aValue; break;
|
||||
case eCSSProperty_border_bottom_style: mMargin->mBorderStyle->mBottom = aValue; break;
|
||||
case eCSSProperty_border_left_style: mMargin->mBorderStyle->mLeft = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1303,13 +1364,15 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_outline_width:
|
||||
case eCSSProperty_outline_color:
|
||||
case eCSSProperty_outline_style:
|
||||
case eCSSProperty_float_edge:
|
||||
CSS_ENSURE(Margin) {
|
||||
switch (aProperty) {
|
||||
case eCSSProperty__moz_border_radius: mMargin->mBorderRadius = aValue; break;
|
||||
case eCSSProperty_outline_width: mMargin->mOutlineWidth = aValue; break;
|
||||
case eCSSProperty_outline_color: mMargin->mOutlineColor = aValue; break;
|
||||
case eCSSProperty_outline_style: mMargin->mOutlineStyle = aValue; break;
|
||||
default: break;
|
||||
case eCSSProperty_float_edge: mMargin->mFloatEdge = aValue; break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1322,6 +1385,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_height:
|
||||
case eCSSProperty_min_height:
|
||||
case eCSSProperty_max_height:
|
||||
case eCSSProperty_box_sizing:
|
||||
case eCSSProperty_z_index:
|
||||
CSS_ENSURE(Position) {
|
||||
switch (aProperty) {
|
||||
@ -1332,8 +1396,9 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_height: mPosition->mHeight = aValue; break;
|
||||
case eCSSProperty_min_height: mPosition->mMinHeight = aValue; break;
|
||||
case eCSSProperty_max_height: mPosition->mMaxHeight = aValue; break;
|
||||
case eCSSProperty_box_sizing: mPosition->mBoxSizing = aValue; break;
|
||||
case eCSSProperty_z_index: mPosition->mZIndex = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1349,7 +1414,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_right: mPosition->mOffset->mRight= aValue; break;
|
||||
case eCSSProperty_bottom: mPosition->mOffset->mBottom = aValue; break;
|
||||
case eCSSProperty_left: mPosition->mOffset->mLeft = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1364,7 +1429,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_list_style_type: mList->mType = aValue; break;
|
||||
case eCSSProperty_list_style_image: mList->mImage = aValue; break;
|
||||
case eCSSProperty_list_style_position: mList->mPosition = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1384,7 +1449,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_caption_side: mTable->mCaptionSide = aValue; break;
|
||||
case eCSSProperty_empty_cells: mTable->mEmptyCells = aValue; break;
|
||||
case eCSSProperty_table_layout: mTable->mLayout = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1404,7 +1469,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_page_break_after: mBreaks->mPageBreakAfter = aValue; break;
|
||||
case eCSSProperty_page_break_before: mBreaks->mPageBreakBefore = aValue; break;
|
||||
case eCSSProperty_page_break_inside: mBreaks->mPageBreakInside = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1418,7 +1483,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_marks: mPage->mMarks = aValue; break;
|
||||
case eCSSProperty_size_width: mPage->mSizeWidth = aValue; break;
|
||||
case eCSSProperty_size_height: mPage->mSizeHeight = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1463,8 +1528,34 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
CSS_IF_DELETE(mContent->mQuotes->mNext);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
// nsCSSUserInterface
|
||||
case eCSSProperty_user_input:
|
||||
case eCSSProperty_modify_content:
|
||||
case eCSSProperty_selection_style:
|
||||
case eCSSProperty_auto_select:
|
||||
case eCSSProperty_key_equivalent:
|
||||
case eCSSProperty_auto_tab:
|
||||
case eCSSProperty_resizer:
|
||||
CSS_ENSURE(UserInterface) {
|
||||
switch (aProperty) {
|
||||
case eCSSProperty_user_input: mUserInterface->mUserInput = aValue; break;
|
||||
case eCSSProperty_modify_content: mUserInterface->mModifyContent = aValue; break;
|
||||
case eCSSProperty_selection_style: mUserInterface->mSelectionStyle = aValue; break;
|
||||
case eCSSProperty_auto_select: mUserInterface->mAutoSelect = aValue; break;
|
||||
case eCSSProperty_key_equivalent:
|
||||
CSS_ENSURE_DATA(mUserInterface->mKeyEquivalent, nsCSSValueList) {
|
||||
mUserInterface->mKeyEquivalent->mValue = aValue;
|
||||
CSS_IF_DELETE(mUserInterface->mKeyEquivalent->mNext);
|
||||
}
|
||||
break;
|
||||
case eCSSProperty_auto_tab: mUserInterface->mAutoTab = aValue; break;
|
||||
case eCSSProperty_resizer: mUserInterface->mResizer = aValue; break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1510,7 +1601,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_stress: mAural->mStress = aValue; break;
|
||||
case eCSSProperty_voice_family: mAural->mVoiceFamily = aValue; break;
|
||||
case eCSSProperty_volume: mAural->mVolume = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1539,7 +1630,9 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_border_style:
|
||||
case eCSSProperty_border_width:
|
||||
NS_ERROR("can't append shorthand properties");
|
||||
default:
|
||||
// default: // XXX explicitly removing default case so compiler will help find missed props
|
||||
case eCSSProperty_UNKNOWN:
|
||||
case eCSSProperty_COUNT:
|
||||
result = NS_ERROR_ILLEGAL_VALUE;
|
||||
break;
|
||||
}
|
||||
@ -1612,6 +1705,13 @@ CSSDeclarationImpl::AppendStructValue(nsCSSProperty aProperty, void* aStruct)
|
||||
}
|
||||
break;
|
||||
|
||||
case eCSSProperty_key_equivalent:
|
||||
CSS_ENSURE(UserInterface) {
|
||||
CSS_IF_DELETE(mUserInterface->mKeyEquivalent);
|
||||
mUserInterface->mKeyEquivalent = (nsCSSValueList*)aStruct;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
NS_ERROR("not a struct property");
|
||||
result = NS_ERROR_ILLEGAL_VALUE;
|
||||
@ -1680,7 +1780,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_font_size, mFont->mSize);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_font_size_adjust, mFont->mSizeAdjust);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_font_stretch, mFont->mStretch);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1706,7 +1806,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_background_x_position, mColor->mBackPositionX);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_background_y_position, mColor->mBackPositionY);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_opacity, mColor->mOpacity);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1748,7 +1848,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_unicode_bidi, mText->mUnicodeBidi);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_line_height, mText->mLineHeight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_white_space, mText->mWhiteSpace);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1782,7 +1882,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_clear, mDisplay->mClear);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_overflow, mDisplay->mOverflow);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_visibility, mDisplay->mVisibility);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1801,7 +1901,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_clip_right, mDisplay->mClip->mRight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_clip_bottom, mDisplay->mClip->mBottom);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_clip_left, mDisplay->mClip->mLeft);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1823,7 +1923,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_margin_right, mMargin->mMargin->mRight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_margin_bottom, mMargin->mMargin->mBottom);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_margin_left, mMargin->mMargin->mLeft);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1844,7 +1944,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_padding_right, mMargin->mPadding->mRight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_padding_bottom, mMargin->mPadding->mBottom);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_padding_left, mMargin->mPadding->mLeft);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1865,7 +1965,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_border_right_width, mMargin->mBorderWidth->mRight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_border_bottom_width, mMargin->mBorderWidth->mBottom);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_border_left_width, mMargin->mBorderWidth->mLeft);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1886,7 +1986,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_border_right_color, mMargin->mBorderColor->mRight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_border_bottom_color, mMargin->mBorderColor->mBottom);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_border_left_color, mMargin->mBorderColor->mLeft);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1907,7 +2007,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_border_right_style, mMargin->mBorderStyle->mRight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_border_bottom_style, mMargin->mBorderStyle->mBottom);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_border_left_style, mMargin->mBorderStyle->mLeft);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1919,6 +2019,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
case eCSSProperty_outline_width:
|
||||
case eCSSProperty_outline_color:
|
||||
case eCSSProperty_outline_style:
|
||||
case eCSSProperty_float_edge:
|
||||
if (nsnull != mMargin) {
|
||||
CSS_ENSURE_IMPORTANT(Margin) {
|
||||
switch (aProperty) {
|
||||
@ -1926,7 +2027,8 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_outline_width, mMargin->mOutlineWidth);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_outline_color, mMargin->mOutlineColor);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_outline_style, mMargin->mOutlineStyle);
|
||||
default: break;
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_float_edge, mMargin->mFloatEdge);
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1940,6 +2042,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
case eCSSProperty_height:
|
||||
case eCSSProperty_min_height:
|
||||
case eCSSProperty_max_height:
|
||||
case eCSSProperty_box_sizing:
|
||||
case eCSSProperty_z_index:
|
||||
if (nsnull != mPosition) {
|
||||
CSS_ENSURE_IMPORTANT(Position) {
|
||||
@ -1951,8 +2054,9 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_height, mPosition->mHeight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_min_height, mPosition->mMinHeight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_max_height, mPosition->mMaxHeight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_box_sizing, mPosition->mBoxSizing);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_z_index, mPosition->mZIndex);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1971,7 +2075,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_right, mPosition->mOffset->mRight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_bottom, mPosition->mOffset->mBottom);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_left, mPosition->mOffset->mLeft);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1989,7 +2093,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_list_style_type, mList->mType);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_list_style_image, mList->mImage);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_list_style_position, mList->mPosition);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2011,7 +2115,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_caption_side, mTable->mCaptionSide);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_empty_cells, mTable->mEmptyCells);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_table_layout, mTable->mLayout);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2033,7 +2137,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_page_break_after, mBreaks->mPageBreakAfter);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_page_break_before, mBreaks->mPageBreakBefore);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_page_break_inside, mBreaks->mPageBreakInside);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2049,7 +2153,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_marks, mPage->mMarks);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_size_width, mPage->mSizeWidth);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_size_height, mPage->mSizeHeight);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2097,7 +2201,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_ENSURE_IMPORTANT(Content) {
|
||||
switch (aProperty) {
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_marker_offset, mContent->mMarkerOffset);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2115,6 +2219,40 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
}
|
||||
break;
|
||||
|
||||
// nsCSSUserInterface
|
||||
case eCSSProperty_user_input:
|
||||
case eCSSProperty_modify_content:
|
||||
case eCSSProperty_selection_style:
|
||||
case eCSSProperty_auto_select:
|
||||
case eCSSProperty_auto_tab:
|
||||
case eCSSProperty_resizer:
|
||||
if (nsnull != mUserInterface) {
|
||||
CSS_ENSURE_IMPORTANT(UserInterface) {
|
||||
switch (aProperty) {
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_user_input, mUserInterface->mUserInput);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_modify_content, mUserInterface->mModifyContent);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_selection_style, mUserInterface->mSelectionStyle);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_auto_select, mUserInterface->mAutoSelect);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_auto_tab, mUserInterface->mAutoTab);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_resizer, mUserInterface->mResizer);
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case eCSSProperty_key_equivalent:
|
||||
if (nsnull != mUserInterface) {
|
||||
if (nsnull != mUserInterface->mKeyEquivalent) {
|
||||
CSS_ENSURE_IMPORTANT(UserInterface) {
|
||||
CSS_IF_DELETE(mImportant->mUserInterface->mKeyEquivalent);
|
||||
mImportant->mUserInterface->mKeyEquivalent = mUserInterface->mKeyEquivalent;
|
||||
mUserInterface->mKeyEquivalent = nsnull;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
// nsCSSAural
|
||||
case eCSSProperty_azimuth:
|
||||
case eCSSProperty_elevation:
|
||||
@ -2153,7 +2291,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_stress, mAural->mStress);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_voice_family, mAural->mVoiceFamily);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_volume, mAural->mVolume);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2336,7 +2474,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_font_size: aValue = mFont->mSize; break;
|
||||
case eCSSProperty_font_size_adjust: aValue = mFont->mSizeAdjust; break;
|
||||
case eCSSProperty_font_stretch: aValue = mFont->mStretch; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2369,7 +2507,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
}
|
||||
break;
|
||||
case eCSSProperty_opacity: aValue = mColor->mOpacity; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2400,7 +2538,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_unicode_bidi: aValue = mText->mUnicodeBidi; break;
|
||||
case eCSSProperty_line_height: aValue = mText->mLineHeight; break;
|
||||
case eCSSProperty_white_space: aValue = mText->mWhiteSpace; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2418,7 +2556,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_text_shadow_x: aValue = mText->mTextShadow->mXOffset; break;
|
||||
case eCSSProperty_text_shadow_y: aValue = mText->mTextShadow->mYOffset; break;
|
||||
case eCSSProperty_text_shadow_radius: aValue = mText->mTextShadow->mRadius; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -2438,7 +2576,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_direction: aValue = mDisplay->mDirection; break;
|
||||
case eCSSProperty_visibility: aValue = mDisplay->mVisibility; break;
|
||||
case eCSSProperty_overflow: aValue = mDisplay->mOverflow; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2456,8 +2594,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_clip_right: aValue = mDisplay->mClip->mRight; break;
|
||||
case eCSSProperty_clip_bottom: aValue = mDisplay->mClip->mBottom; break;
|
||||
case eCSSProperty_clip_left: aValue = mDisplay->mClip->mLeft; break;
|
||||
default:
|
||||
break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2476,7 +2613,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_margin_right: aValue = mMargin->mMargin->mRight; break;
|
||||
case eCSSProperty_margin_bottom: aValue = mMargin->mMargin->mBottom; break;
|
||||
case eCSSProperty_margin_left: aValue = mMargin->mMargin->mLeft; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2494,7 +2631,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_padding_right: aValue = mMargin->mPadding->mRight; break;
|
||||
case eCSSProperty_padding_bottom: aValue = mMargin->mPadding->mBottom; break;
|
||||
case eCSSProperty_padding_left: aValue = mMargin->mPadding->mLeft; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2512,7 +2649,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_border_right_width: aValue = mMargin->mBorderWidth->mRight; break;
|
||||
case eCSSProperty_border_bottom_width: aValue = mMargin->mBorderWidth->mBottom; break;
|
||||
case eCSSProperty_border_left_width: aValue = mMargin->mBorderWidth->mLeft; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2530,7 +2667,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_border_right_color: aValue = mMargin->mBorderColor->mRight; break;
|
||||
case eCSSProperty_border_bottom_color: aValue = mMargin->mBorderColor->mBottom; break;
|
||||
case eCSSProperty_border_left_color: aValue = mMargin->mBorderColor->mLeft; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2548,7 +2685,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_border_right_style: aValue = mMargin->mBorderStyle->mRight; break;
|
||||
case eCSSProperty_border_bottom_style: aValue = mMargin->mBorderStyle->mBottom; break;
|
||||
case eCSSProperty_border_left_style: aValue = mMargin->mBorderStyle->mLeft; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2560,13 +2697,15 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_outline_width:
|
||||
case eCSSProperty_outline_color:
|
||||
case eCSSProperty_outline_style:
|
||||
case eCSSProperty_float_edge:
|
||||
if (nsnull != mMargin) {
|
||||
switch (aProperty) {
|
||||
case eCSSProperty__moz_border_radius: aValue = mMargin->mBorderRadius; break;
|
||||
case eCSSProperty_outline_width: aValue = mMargin->mOutlineWidth; break;
|
||||
case eCSSProperty_outline_color: aValue = mMargin->mOutlineColor; break;
|
||||
case eCSSProperty_outline_style: aValue = mMargin->mOutlineStyle; break;
|
||||
default: break;
|
||||
case eCSSProperty_float_edge: aValue = mMargin->mFloatEdge; break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2582,6 +2721,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_height:
|
||||
case eCSSProperty_min_height:
|
||||
case eCSSProperty_max_height:
|
||||
case eCSSProperty_box_sizing:
|
||||
case eCSSProperty_z_index:
|
||||
if (nsnull != mPosition) {
|
||||
switch (aProperty) {
|
||||
@ -2592,8 +2732,9 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_height: aValue = mPosition->mHeight; break;
|
||||
case eCSSProperty_min_height: aValue = mPosition->mMinHeight; break;
|
||||
case eCSSProperty_max_height: aValue = mPosition->mMaxHeight; break;
|
||||
case eCSSProperty_box_sizing: aValue = mPosition->mBoxSizing; break;
|
||||
case eCSSProperty_z_index: aValue = mPosition->mZIndex; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2611,7 +2752,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_right: aValue = mPosition->mOffset->mRight; break;
|
||||
case eCSSProperty_bottom: aValue = mPosition->mOffset->mBottom; break;
|
||||
case eCSSProperty_left: aValue = mPosition->mOffset->mLeft; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2628,7 +2769,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_list_style_type: aValue = mList->mType; break;
|
||||
case eCSSProperty_list_style_image: aValue = mList->mImage; break;
|
||||
case eCSSProperty_list_style_position: aValue = mList->mPosition; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2651,7 +2792,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_caption_side: aValue = mTable->mCaptionSide; break;
|
||||
case eCSSProperty_empty_cells: aValue = mTable->mEmptyCells; break;
|
||||
case eCSSProperty_table_layout: aValue = mTable->mLayout; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2674,7 +2815,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_page_break_after: aValue = mBreaks->mPageBreakAfter; break;
|
||||
case eCSSProperty_page_break_before: aValue = mBreaks->mPageBreakBefore; break;
|
||||
case eCSSProperty_page_break_inside: aValue = mBreaks->mPageBreakInside; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2691,7 +2832,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_marks: aValue = mPage->mMarks; break;
|
||||
case eCSSProperty_size_width: aValue = mPage->mSizeWidth; break;
|
||||
case eCSSProperty_size_height: aValue = mPage->mSizeHeight; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2734,8 +2875,36 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
aValue = mContent->mQuotes->mClose;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
aValue.Reset();
|
||||
}
|
||||
break;
|
||||
|
||||
// nsCSSUserInterface
|
||||
case eCSSProperty_user_input:
|
||||
case eCSSProperty_modify_content:
|
||||
case eCSSProperty_selection_style:
|
||||
case eCSSProperty_auto_select:
|
||||
case eCSSProperty_key_equivalent:
|
||||
case eCSSProperty_auto_tab:
|
||||
case eCSSProperty_resizer:
|
||||
if (nsnull != mUserInterface) {
|
||||
switch (aProperty) {
|
||||
case eCSSProperty_user_input: aValue = mUserInterface->mUserInput; break;
|
||||
case eCSSProperty_modify_content: aValue = mUserInterface->mModifyContent; break;
|
||||
case eCSSProperty_selection_style: aValue = mUserInterface->mSelectionStyle; break;
|
||||
case eCSSProperty_auto_select: aValue = mUserInterface->mAutoSelect; break;
|
||||
case eCSSProperty_key_equivalent:
|
||||
if (nsnull != mUserInterface->mKeyEquivalent) {
|
||||
aValue = mUserInterface->mKeyEquivalent->mValue;
|
||||
}
|
||||
break;
|
||||
case eCSSProperty_auto_tab: aValue = mUserInterface->mAutoTab; break;
|
||||
case eCSSProperty_resizer: aValue = mUserInterface->mResizer; break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2784,7 +2953,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_stress: aValue = mAural->mStress; break;
|
||||
case eCSSProperty_voice_family: aValue = mAural->mVoiceFamily; break;
|
||||
case eCSSProperty_volume: aValue = mAural->mVolume; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -3256,6 +3425,18 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsString& aValue)
|
||||
} while (nsnull != quotes);
|
||||
}
|
||||
break;
|
||||
case eCSSProperty_key_equivalent:
|
||||
if ((nsnull != mUserInterface) && (nsnull != mUserInterface->mKeyEquivalent)) {
|
||||
nsCSSValueList* keyEquiv = mUserInterface->mKeyEquivalent;
|
||||
do {
|
||||
AppendValueToString(eCSSProperty_key_equivalent, keyEquiv->mValue, aValue);
|
||||
keyEquiv = keyEquiv->mNext;
|
||||
if (nsnull != keyEquiv) {
|
||||
aValue.Append(' ');
|
||||
}
|
||||
} while (nsnull != keyEquiv);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
AppendValueToString(aProperty, aValue);
|
||||
break;
|
||||
@ -3375,6 +3556,9 @@ void CSSDeclarationImpl::List(FILE* out, PRInt32 aIndent) const
|
||||
if (nsnull != mContent) {
|
||||
mContent->List(out);
|
||||
}
|
||||
if (nsnull != mUserInterface) {
|
||||
mUserInterface->List(out);
|
||||
}
|
||||
if (nsnull != mAural) {
|
||||
mAural->List(out);
|
||||
}
|
||||
|
||||
@ -125,8 +125,6 @@ nsCSSKeywords::LookupKeyword(const nsStr& aKeyword)
|
||||
const nsCString&
|
||||
nsCSSKeywords::GetStringValue(nsCSSKeyword aKeyword)
|
||||
{
|
||||
nsString* value = nsnull;
|
||||
|
||||
NS_ASSERTION(gKeywordArray, "no lookup table, needs addref");
|
||||
if ((eCSSKeyword_UNKNOWN < aKeyword) &&
|
||||
(aKeyword < eCSSKeyword_COUNT) && gKeywordArray) {
|
||||
|
||||
@ -2588,6 +2588,15 @@ PRBool CSSParserImpl::ParseProperty(PRInt32& aErrorCode,
|
||||
case eCSSProperty_clip_left:
|
||||
case eCSSProperty_clip_right:
|
||||
case eCSSProperty_clip_top:
|
||||
case eCSSProperty_play_during_flags:
|
||||
case eCSSProperty_quotes_close:
|
||||
case eCSSProperty_quotes_open:
|
||||
case eCSSProperty_size_height:
|
||||
case eCSSProperty_size_width:
|
||||
case eCSSProperty_text_shadow_color:
|
||||
case eCSSProperty_text_shadow_radius:
|
||||
case eCSSProperty_text_shadow_x:
|
||||
case eCSSProperty_text_shadow_y:
|
||||
// The user can't use these
|
||||
return PR_FALSE;
|
||||
default:
|
||||
@ -2700,6 +2709,7 @@ PRBool CSSParserImpl::ParseSingleValueProperty(PRInt32& aErrorCode,
|
||||
nsCSSProperty aPropID)
|
||||
{
|
||||
switch (aPropID) {
|
||||
case eCSSProperty_UNKNOWN:
|
||||
case eCSSProperty_background:
|
||||
case eCSSProperty_background_position:
|
||||
case eCSSProperty_border:
|
||||
@ -2723,12 +2733,38 @@ PRBool CSSParserImpl::ParseSingleValueProperty(PRInt32& aErrorCode,
|
||||
case eCSSProperty_outline:
|
||||
case eCSSProperty_padding:
|
||||
case eCSSProperty_pause:
|
||||
case eCSSProperty_play_during:
|
||||
case eCSSProperty_quotes:
|
||||
case eCSSProperty_size:
|
||||
case eCSSProperty_text_shadow:
|
||||
case eCSSProperty_COUNT:
|
||||
NS_ERROR("not a single value property");
|
||||
return PR_FALSE;
|
||||
|
||||
case eCSSProperty_border_x_spacing:
|
||||
case eCSSProperty_border_y_spacing:
|
||||
case eCSSProperty_clip_bottom:
|
||||
case eCSSProperty_clip_left:
|
||||
case eCSSProperty_clip_right:
|
||||
case eCSSProperty_clip_top:
|
||||
case eCSSProperty_play_during_flags:
|
||||
case eCSSProperty_quotes_close:
|
||||
case eCSSProperty_quotes_open:
|
||||
case eCSSProperty_size_height:
|
||||
case eCSSProperty_size_width:
|
||||
case eCSSProperty_text_shadow_color:
|
||||
case eCSSProperty_text_shadow_radius:
|
||||
case eCSSProperty_text_shadow_x:
|
||||
case eCSSProperty_text_shadow_y:
|
||||
NS_ERROR("not currently parsed here");
|
||||
return PR_FALSE;
|
||||
|
||||
case eCSSProperty_auto_select:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_HOK,
|
||||
nsCSSProps::kAutoSelectKTable);
|
||||
case eCSSProperty_auto_tab:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_AHK | VARIANT_NONE,
|
||||
nsCSSProps::kAutoTabKTable);
|
||||
case eCSSProperty_azimuth:
|
||||
return ParseAzimuth(aErrorCode, aValue);
|
||||
case eCSSProperty_background_attachment:
|
||||
@ -2774,6 +2810,9 @@ PRBool CSSParserImpl::ParseSingleValueProperty(PRInt32& aErrorCode,
|
||||
case eCSSProperty_left:
|
||||
case eCSSProperty_right:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_AHLP, nsnull);
|
||||
case eCSSProperty_box_sizing:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_HK,
|
||||
nsCSSProps::kBoxSizingKTable);
|
||||
case eCSSProperty_height:
|
||||
case eCSSProperty_width:
|
||||
return ParsePositiveVariant(aErrorCode, aValue, VARIANT_AHLP, nsnull);
|
||||
@ -2803,6 +2842,9 @@ PRBool CSSParserImpl::ParseSingleValueProperty(PRInt32& aErrorCode,
|
||||
case eCSSProperty_float:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_HOK,
|
||||
nsCSSProps::kFloatKTable);
|
||||
case eCSSProperty_float_edge:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_HK,
|
||||
nsCSSProps::kFloatEdgeKTable);
|
||||
case eCSSProperty_font_family:
|
||||
return ParseFamily(aErrorCode, aValue);
|
||||
case eCSSProperty_font_size:
|
||||
@ -2826,6 +2868,9 @@ PRBool CSSParserImpl::ParseSingleValueProperty(PRInt32& aErrorCode,
|
||||
case eCSSProperty_letter_spacing:
|
||||
case eCSSProperty_word_spacing:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_HL | VARIANT_NORMAL, nsnull);
|
||||
case eCSSProperty_key_equivalent:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_HOK,
|
||||
nsCSSProps::kKeyEquivalentKTable);
|
||||
case eCSSProperty_line_height:
|
||||
return ParsePositiveVariant(aErrorCode, aValue, VARIANT_HLPN | VARIANT_NORMAL, nsnull);
|
||||
case eCSSProperty_list_style_image:
|
||||
@ -2849,6 +2894,9 @@ PRBool CSSParserImpl::ParseSingleValueProperty(PRInt32& aErrorCode,
|
||||
case eCSSProperty_min_height:
|
||||
case eCSSProperty_min_width:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_HLP, nsnull);
|
||||
case eCSSProperty_modify_content:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_HK,
|
||||
nsCSSProps::kModifyContentKTable);
|
||||
case eCSSProperty_opacity:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_HPN, nsnull);
|
||||
case eCSSProperty_orphans:
|
||||
@ -2889,8 +2937,14 @@ PRBool CSSParserImpl::ParseSingleValueProperty(PRInt32& aErrorCode,
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_HN, nsnull);
|
||||
case eCSSProperty_position:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_HK, nsCSSProps::kPositionKTable);
|
||||
case eCSSProperty_resizer:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_AHK | VARIANT_NONE,
|
||||
nsCSSProps::kResizerKTable);
|
||||
case eCSSProperty_richness:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_HN, nsnull);
|
||||
case eCSSProperty_selection_style:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_HOK,
|
||||
nsCSSProps::kSelectionStyleKTable);
|
||||
case eCSSProperty_speak:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_HMK | VARIANT_NONE,
|
||||
nsCSSProps::kSpeakKTable);
|
||||
@ -2924,6 +2978,9 @@ PRBool CSSParserImpl::ParseSingleValueProperty(PRInt32& aErrorCode,
|
||||
case eCSSProperty_unicode_bidi:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_HMK,
|
||||
nsCSSProps::kUnicodeBidiKTable);
|
||||
case eCSSProperty_user_input:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_AHK | VARIANT_NONE,
|
||||
nsCSSProps::kUserInputKTable);
|
||||
case eCSSProperty_vertical_align:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_HKLP,
|
||||
nsCSSProps::kVerticalAlignKTable);
|
||||
@ -2940,9 +2997,9 @@ PRBool CSSParserImpl::ParseSingleValueProperty(PRInt32& aErrorCode,
|
||||
nsCSSProps::kWhitespaceKTable);
|
||||
case eCSSProperty_z_index:
|
||||
return ParseVariant(aErrorCode, aValue, VARIANT_AHI, nsnull);
|
||||
default:
|
||||
break;
|
||||
}
|
||||
// explicitly do NOT have a default case to let the compiler
|
||||
// help find missing properties
|
||||
return PR_FALSE;
|
||||
}
|
||||
|
||||
|
||||
@ -294,6 +294,7 @@ const PRInt32 nsCSSProps::kDisplayKTable[] = {
|
||||
eCSSKeyword_table_column, NS_STYLE_DISPLAY_TABLE_COLUMN,
|
||||
eCSSKeyword_table_cell, NS_STYLE_DISPLAY_TABLE_CELL,
|
||||
eCSSKeyword_table_caption, NS_STYLE_DISPLAY_TABLE_CAPTION,
|
||||
eCSSKeyword_menu, NS_STYLE_DISPLAY_MENU,
|
||||
-1,-1
|
||||
};
|
||||
|
||||
@ -645,6 +646,9 @@ static const PRInt32 kBackgroundYPositionKTable[] = {
|
||||
};
|
||||
|
||||
switch (aProp) {
|
||||
|
||||
case eCSSProperty__moz_border_radius:
|
||||
break;
|
||||
|
||||
case eCSSProperty_auto_select:
|
||||
return SearchKeywordTable(aValue, kAutoSelectKTable);
|
||||
|
||||
@ -38,6 +38,7 @@ static NS_DEFINE_IID(kCSSTableSID, NS_CSS_TABLE_SID);
|
||||
static NS_DEFINE_IID(kCSSBreaksSID, NS_CSS_BREAKS_SID);
|
||||
static NS_DEFINE_IID(kCSSPageSID, NS_CSS_PAGE_SID);
|
||||
static NS_DEFINE_IID(kCSSContentSID, NS_CSS_CONTENT_SID);
|
||||
static NS_DEFINE_IID(kCSSUserInterfaceSID, NS_CSS_USER_INTERFACE_SID);
|
||||
static NS_DEFINE_IID(kCSSAuralSID, NS_CSS_AURAL_SID);
|
||||
static NS_DEFINE_IID(kICSSDeclarationIID, NS_ICSS_DECLARATION_IID);
|
||||
|
||||
@ -379,7 +380,8 @@ nsCSSMargin::nsCSSMargin(const nsCSSMargin& aCopy)
|
||||
mBorderRadius(aCopy.mBorderRadius),
|
||||
mOutlineWidth(aCopy.mOutlineWidth),
|
||||
mOutlineColor(aCopy.mOutlineColor),
|
||||
mOutlineStyle(aCopy.mOutlineStyle)
|
||||
mOutlineStyle(aCopy.mOutlineStyle),
|
||||
mFloatEdge(aCopy.mFloatEdge)
|
||||
{
|
||||
CSS_IF_COPY(mMargin, nsCSSRect);
|
||||
CSS_IF_COPY(mPadding, nsCSSRect);
|
||||
@ -445,6 +447,7 @@ void nsCSSMargin::List(FILE* out, PRInt32 aIndent) const
|
||||
mOutlineWidth.AppendToString(buffer, eCSSProperty_outline_width);
|
||||
mOutlineColor.AppendToString(buffer, eCSSProperty_outline_color);
|
||||
mOutlineStyle.AppendToString(buffer, eCSSProperty_outline_style);
|
||||
mFloatEdge.AppendToString(buffer, eCSSProperty_float_edge);
|
||||
fputs(buffer, out);
|
||||
}
|
||||
|
||||
@ -463,6 +466,7 @@ nsCSSPosition::nsCSSPosition(const nsCSSPosition& aCopy)
|
||||
mHeight(aCopy.mHeight),
|
||||
mMinHeight(aCopy.mMinHeight),
|
||||
mMaxHeight(aCopy.mMaxHeight),
|
||||
mBoxSizing(aCopy.mBoxSizing),
|
||||
mOffset(nsnull),
|
||||
mZIndex(aCopy.mZIndex)
|
||||
{
|
||||
@ -492,6 +496,7 @@ void nsCSSPosition::List(FILE* out, PRInt32 aIndent) const
|
||||
mHeight.AppendToString(buffer, eCSSProperty_height);
|
||||
mMinHeight.AppendToString(buffer, eCSSProperty_min_height);
|
||||
mMaxHeight.AppendToString(buffer, eCSSProperty_max_height);
|
||||
mBoxSizing.AppendToString(buffer, eCSSProperty_box_sizing);
|
||||
mZIndex.AppendToString(buffer, eCSSProperty_z_index);
|
||||
fputs(buffer, out);
|
||||
|
||||
@ -765,6 +770,55 @@ void nsCSSContent::List(FILE* out, PRInt32 aIndent) const
|
||||
fputs(buffer, out);
|
||||
}
|
||||
|
||||
// --- nsCSSUserInterface -----------------
|
||||
|
||||
nsCSSUserInterface::nsCSSUserInterface(void)
|
||||
: mKeyEquivalent(nsnull)
|
||||
{
|
||||
}
|
||||
|
||||
nsCSSUserInterface::nsCSSUserInterface(const nsCSSUserInterface& aCopy)
|
||||
: mUserInput(aCopy.mUserInput),
|
||||
mModifyContent(aCopy.mModifyContent),
|
||||
mSelectionStyle(aCopy.mSelectionStyle),
|
||||
mAutoSelect(aCopy.mAutoSelect),
|
||||
mKeyEquivalent(nsnull),
|
||||
mAutoTab(aCopy.mAutoTab),
|
||||
mResizer(aCopy.mResizer)
|
||||
{
|
||||
CSS_IF_COPY(mKeyEquivalent, nsCSSValueList);
|
||||
}
|
||||
|
||||
nsCSSUserInterface::~nsCSSUserInterface(void)
|
||||
{
|
||||
CSS_IF_DELETE(mKeyEquivalent);
|
||||
}
|
||||
|
||||
const nsID& nsCSSUserInterface::GetID(void)
|
||||
{
|
||||
return kCSSUserInterfaceSID;
|
||||
}
|
||||
|
||||
void nsCSSUserInterface::List(FILE* out, PRInt32 aIndent) const
|
||||
{
|
||||
for (PRInt32 index = aIndent; --index >= 0; ) fputs(" ", out);
|
||||
|
||||
nsAutoString buffer;
|
||||
|
||||
mUserInput.AppendToString(buffer, eCSSProperty_user_input);
|
||||
mModifyContent.AppendToString(buffer, eCSSProperty_modify_content);
|
||||
mSelectionStyle.AppendToString(buffer, eCSSProperty_selection_style);
|
||||
mAutoSelect.AppendToString(buffer, eCSSProperty_auto_select);
|
||||
nsCSSValueList* keyEquiv = mKeyEquivalent;
|
||||
while (nsnull != keyEquiv) {
|
||||
keyEquiv->mValue.AppendToString(buffer, eCSSProperty_key_equivalent);
|
||||
keyEquiv= keyEquiv->mNext;
|
||||
}
|
||||
mAutoTab.AppendToString(buffer, eCSSProperty_auto_tab);
|
||||
mResizer.AppendToString(buffer, eCSSProperty_resizer);
|
||||
fputs(buffer, out);
|
||||
}
|
||||
|
||||
// --- nsCSSAural -----------------
|
||||
|
||||
nsCSSAural::nsCSSAural(void)
|
||||
@ -893,6 +947,7 @@ protected:
|
||||
nsCSSBreaks* mBreaks;
|
||||
nsCSSPage* mPage;
|
||||
nsCSSContent* mContent;
|
||||
nsCSSUserInterface* mUserInterface;
|
||||
nsCSSAural* mAural;
|
||||
|
||||
CSSDeclarationImpl* mImportant;
|
||||
@ -934,6 +989,7 @@ CSSDeclarationImpl::CSSDeclarationImpl(const CSSDeclarationImpl& aCopy)
|
||||
DECL_IF_COPY(Breaks);
|
||||
DECL_IF_COPY(Page);
|
||||
DECL_IF_COPY(Content);
|
||||
DECL_IF_COPY(UserInterface);
|
||||
DECL_IF_COPY(Aural);
|
||||
|
||||
if (aCopy.mImportant) {
|
||||
@ -970,6 +1026,7 @@ CSSDeclarationImpl::~CSSDeclarationImpl(void)
|
||||
CSS_IF_DELETE(mBreaks);
|
||||
CSS_IF_DELETE(mPage);
|
||||
CSS_IF_DELETE(mContent);
|
||||
CSS_IF_DELETE(mUserInterface);
|
||||
CSS_IF_DELETE(mAural);
|
||||
|
||||
NS_IF_RELEASE(mImportant);
|
||||
@ -1005,6 +1062,7 @@ CSSDeclarationImpl::GetData(const nsID& aSID, nsCSSStruct** aDataPtr)
|
||||
CSS_IF_GET_ELSE(aSID, Breaks, aDataPtr)
|
||||
CSS_IF_GET_ELSE(aSID, Page, aDataPtr)
|
||||
CSS_IF_GET_ELSE(aSID, Content, aDataPtr)
|
||||
CSS_IF_GET_ELSE(aSID, UserInterface, aDataPtr)
|
||||
CSS_IF_GET_ELSE(aSID, Aural, aDataPtr) {
|
||||
return NS_NOINTERFACE;
|
||||
}
|
||||
@ -1035,6 +1093,7 @@ CSSDeclarationImpl::EnsureData(const nsID& aSID, nsCSSStruct** aDataPtr)
|
||||
CSS_IF_ENSURE_ELSE(aSID, Breaks, aDataPtr)
|
||||
CSS_IF_ENSURE_ELSE(aSID, Page, aDataPtr)
|
||||
CSS_IF_ENSURE_ELSE(aSID, Content, aDataPtr)
|
||||
CSS_IF_ENSURE_ELSE(aSID, UserInterface, aDataPtr)
|
||||
CSS_IF_ENSURE_ELSE(aSID, Aural, aDataPtr) {
|
||||
return NS_NOINTERFACE;
|
||||
}
|
||||
@ -1071,6 +1130,8 @@ CSSDeclarationImpl::EnsureData(const nsID& aSID, nsCSSStruct** aDataPtr)
|
||||
} \
|
||||
else
|
||||
|
||||
#define CSS_BOGUS_DEFAULT default: NS_ERROR("should never happen"); break;
|
||||
|
||||
NS_IMETHODIMP
|
||||
CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValue)
|
||||
{
|
||||
@ -1094,7 +1155,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_font_size: mFont->mSize = aValue; break;
|
||||
case eCSSProperty_font_size_adjust: mFont->mSizeAdjust = aValue; break;
|
||||
case eCSSProperty_font_stretch: mFont->mStretch = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1125,7 +1186,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
}
|
||||
break;
|
||||
case eCSSProperty_opacity: mColor->mOpacity = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1153,7 +1214,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_unicode_bidi: mText->mUnicodeBidi = aValue; break;
|
||||
case eCSSProperty_line_height: mText->mLineHeight = aValue; break;
|
||||
case eCSSProperty_white_space: mText->mWhiteSpace = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1169,7 +1230,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_text_shadow_radius: mText->mTextShadow->mRadius = aValue; break;
|
||||
case eCSSProperty_text_shadow_x: mText->mTextShadow->mXOffset = aValue; break;
|
||||
case eCSSProperty_text_shadow_y: mText->mTextShadow->mYOffset = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
CSS_IF_DELETE(mText->mTextShadow->mNext);
|
||||
}
|
||||
@ -1191,7 +1252,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_direction: mDisplay->mDirection = aValue; break;
|
||||
case eCSSProperty_visibility: mDisplay->mVisibility = aValue; break;
|
||||
case eCSSProperty_overflow: mDisplay->mOverflow = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1207,7 +1268,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_clip_right: mDisplay->mClip->mRight = aValue; break;
|
||||
case eCSSProperty_clip_bottom: mDisplay->mClip->mBottom = aValue; break;
|
||||
case eCSSProperty_clip_left: mDisplay->mClip->mLeft = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1225,7 +1286,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_margin_right: mMargin->mMargin->mRight = aValue; break;
|
||||
case eCSSProperty_margin_bottom: mMargin->mMargin->mBottom = aValue; break;
|
||||
case eCSSProperty_margin_left: mMargin->mMargin->mLeft = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1242,7 +1303,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_padding_right: mMargin->mPadding->mRight = aValue; break;
|
||||
case eCSSProperty_padding_bottom: mMargin->mPadding->mBottom = aValue; break;
|
||||
case eCSSProperty_padding_left: mMargin->mPadding->mLeft = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1259,7 +1320,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_border_right_width: mMargin->mBorderWidth->mRight = aValue; break;
|
||||
case eCSSProperty_border_bottom_width: mMargin->mBorderWidth->mBottom = aValue; break;
|
||||
case eCSSProperty_border_left_width: mMargin->mBorderWidth->mLeft = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1276,7 +1337,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_border_right_color: mMargin->mBorderColor->mRight = aValue; break;
|
||||
case eCSSProperty_border_bottom_color: mMargin->mBorderColor->mBottom = aValue; break;
|
||||
case eCSSProperty_border_left_color: mMargin->mBorderColor->mLeft = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1293,7 +1354,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_border_right_style: mMargin->mBorderStyle->mRight = aValue; break;
|
||||
case eCSSProperty_border_bottom_style: mMargin->mBorderStyle->mBottom = aValue; break;
|
||||
case eCSSProperty_border_left_style: mMargin->mBorderStyle->mLeft = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1303,13 +1364,15 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_outline_width:
|
||||
case eCSSProperty_outline_color:
|
||||
case eCSSProperty_outline_style:
|
||||
case eCSSProperty_float_edge:
|
||||
CSS_ENSURE(Margin) {
|
||||
switch (aProperty) {
|
||||
case eCSSProperty__moz_border_radius: mMargin->mBorderRadius = aValue; break;
|
||||
case eCSSProperty_outline_width: mMargin->mOutlineWidth = aValue; break;
|
||||
case eCSSProperty_outline_color: mMargin->mOutlineColor = aValue; break;
|
||||
case eCSSProperty_outline_style: mMargin->mOutlineStyle = aValue; break;
|
||||
default: break;
|
||||
case eCSSProperty_float_edge: mMargin->mFloatEdge = aValue; break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1322,6 +1385,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_height:
|
||||
case eCSSProperty_min_height:
|
||||
case eCSSProperty_max_height:
|
||||
case eCSSProperty_box_sizing:
|
||||
case eCSSProperty_z_index:
|
||||
CSS_ENSURE(Position) {
|
||||
switch (aProperty) {
|
||||
@ -1332,8 +1396,9 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_height: mPosition->mHeight = aValue; break;
|
||||
case eCSSProperty_min_height: mPosition->mMinHeight = aValue; break;
|
||||
case eCSSProperty_max_height: mPosition->mMaxHeight = aValue; break;
|
||||
case eCSSProperty_box_sizing: mPosition->mBoxSizing = aValue; break;
|
||||
case eCSSProperty_z_index: mPosition->mZIndex = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1349,7 +1414,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_right: mPosition->mOffset->mRight= aValue; break;
|
||||
case eCSSProperty_bottom: mPosition->mOffset->mBottom = aValue; break;
|
||||
case eCSSProperty_left: mPosition->mOffset->mLeft = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1364,7 +1429,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_list_style_type: mList->mType = aValue; break;
|
||||
case eCSSProperty_list_style_image: mList->mImage = aValue; break;
|
||||
case eCSSProperty_list_style_position: mList->mPosition = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1384,7 +1449,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_caption_side: mTable->mCaptionSide = aValue; break;
|
||||
case eCSSProperty_empty_cells: mTable->mEmptyCells = aValue; break;
|
||||
case eCSSProperty_table_layout: mTable->mLayout = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1404,7 +1469,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_page_break_after: mBreaks->mPageBreakAfter = aValue; break;
|
||||
case eCSSProperty_page_break_before: mBreaks->mPageBreakBefore = aValue; break;
|
||||
case eCSSProperty_page_break_inside: mBreaks->mPageBreakInside = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1418,7 +1483,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_marks: mPage->mMarks = aValue; break;
|
||||
case eCSSProperty_size_width: mPage->mSizeWidth = aValue; break;
|
||||
case eCSSProperty_size_height: mPage->mSizeHeight = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1463,8 +1528,34 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
CSS_IF_DELETE(mContent->mQuotes->mNext);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
// nsCSSUserInterface
|
||||
case eCSSProperty_user_input:
|
||||
case eCSSProperty_modify_content:
|
||||
case eCSSProperty_selection_style:
|
||||
case eCSSProperty_auto_select:
|
||||
case eCSSProperty_key_equivalent:
|
||||
case eCSSProperty_auto_tab:
|
||||
case eCSSProperty_resizer:
|
||||
CSS_ENSURE(UserInterface) {
|
||||
switch (aProperty) {
|
||||
case eCSSProperty_user_input: mUserInterface->mUserInput = aValue; break;
|
||||
case eCSSProperty_modify_content: mUserInterface->mModifyContent = aValue; break;
|
||||
case eCSSProperty_selection_style: mUserInterface->mSelectionStyle = aValue; break;
|
||||
case eCSSProperty_auto_select: mUserInterface->mAutoSelect = aValue; break;
|
||||
case eCSSProperty_key_equivalent:
|
||||
CSS_ENSURE_DATA(mUserInterface->mKeyEquivalent, nsCSSValueList) {
|
||||
mUserInterface->mKeyEquivalent->mValue = aValue;
|
||||
CSS_IF_DELETE(mUserInterface->mKeyEquivalent->mNext);
|
||||
}
|
||||
break;
|
||||
case eCSSProperty_auto_tab: mUserInterface->mAutoTab = aValue; break;
|
||||
case eCSSProperty_resizer: mUserInterface->mResizer = aValue; break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1510,7 +1601,7 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_stress: mAural->mStress = aValue; break;
|
||||
case eCSSProperty_voice_family: mAural->mVoiceFamily = aValue; break;
|
||||
case eCSSProperty_volume: mAural->mVolume = aValue; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1539,7 +1630,9 @@ CSSDeclarationImpl::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValu
|
||||
case eCSSProperty_border_style:
|
||||
case eCSSProperty_border_width:
|
||||
NS_ERROR("can't append shorthand properties");
|
||||
default:
|
||||
// default: // XXX explicitly removing default case so compiler will help find missed props
|
||||
case eCSSProperty_UNKNOWN:
|
||||
case eCSSProperty_COUNT:
|
||||
result = NS_ERROR_ILLEGAL_VALUE;
|
||||
break;
|
||||
}
|
||||
@ -1612,6 +1705,13 @@ CSSDeclarationImpl::AppendStructValue(nsCSSProperty aProperty, void* aStruct)
|
||||
}
|
||||
break;
|
||||
|
||||
case eCSSProperty_key_equivalent:
|
||||
CSS_ENSURE(UserInterface) {
|
||||
CSS_IF_DELETE(mUserInterface->mKeyEquivalent);
|
||||
mUserInterface->mKeyEquivalent = (nsCSSValueList*)aStruct;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
NS_ERROR("not a struct property");
|
||||
result = NS_ERROR_ILLEGAL_VALUE;
|
||||
@ -1680,7 +1780,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_font_size, mFont->mSize);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_font_size_adjust, mFont->mSizeAdjust);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_font_stretch, mFont->mStretch);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1706,7 +1806,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_background_x_position, mColor->mBackPositionX);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_background_y_position, mColor->mBackPositionY);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_opacity, mColor->mOpacity);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1748,7 +1848,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_unicode_bidi, mText->mUnicodeBidi);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_line_height, mText->mLineHeight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_white_space, mText->mWhiteSpace);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1782,7 +1882,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_clear, mDisplay->mClear);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_overflow, mDisplay->mOverflow);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_visibility, mDisplay->mVisibility);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1801,7 +1901,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_clip_right, mDisplay->mClip->mRight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_clip_bottom, mDisplay->mClip->mBottom);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_clip_left, mDisplay->mClip->mLeft);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1823,7 +1923,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_margin_right, mMargin->mMargin->mRight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_margin_bottom, mMargin->mMargin->mBottom);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_margin_left, mMargin->mMargin->mLeft);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1844,7 +1944,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_padding_right, mMargin->mPadding->mRight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_padding_bottom, mMargin->mPadding->mBottom);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_padding_left, mMargin->mPadding->mLeft);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1865,7 +1965,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_border_right_width, mMargin->mBorderWidth->mRight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_border_bottom_width, mMargin->mBorderWidth->mBottom);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_border_left_width, mMargin->mBorderWidth->mLeft);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1886,7 +1986,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_border_right_color, mMargin->mBorderColor->mRight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_border_bottom_color, mMargin->mBorderColor->mBottom);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_border_left_color, mMargin->mBorderColor->mLeft);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1907,7 +2007,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_border_right_style, mMargin->mBorderStyle->mRight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_border_bottom_style, mMargin->mBorderStyle->mBottom);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_border_left_style, mMargin->mBorderStyle->mLeft);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1919,6 +2019,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
case eCSSProperty_outline_width:
|
||||
case eCSSProperty_outline_color:
|
||||
case eCSSProperty_outline_style:
|
||||
case eCSSProperty_float_edge:
|
||||
if (nsnull != mMargin) {
|
||||
CSS_ENSURE_IMPORTANT(Margin) {
|
||||
switch (aProperty) {
|
||||
@ -1926,7 +2027,8 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_outline_width, mMargin->mOutlineWidth);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_outline_color, mMargin->mOutlineColor);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_outline_style, mMargin->mOutlineStyle);
|
||||
default: break;
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_float_edge, mMargin->mFloatEdge);
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1940,6 +2042,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
case eCSSProperty_height:
|
||||
case eCSSProperty_min_height:
|
||||
case eCSSProperty_max_height:
|
||||
case eCSSProperty_box_sizing:
|
||||
case eCSSProperty_z_index:
|
||||
if (nsnull != mPosition) {
|
||||
CSS_ENSURE_IMPORTANT(Position) {
|
||||
@ -1951,8 +2054,9 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_height, mPosition->mHeight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_min_height, mPosition->mMinHeight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_max_height, mPosition->mMaxHeight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_box_sizing, mPosition->mBoxSizing);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_z_index, mPosition->mZIndex);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1971,7 +2075,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_right, mPosition->mOffset->mRight);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_bottom, mPosition->mOffset->mBottom);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_left, mPosition->mOffset->mLeft);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1989,7 +2093,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_list_style_type, mList->mType);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_list_style_image, mList->mImage);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_list_style_position, mList->mPosition);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2011,7 +2115,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_caption_side, mTable->mCaptionSide);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_empty_cells, mTable->mEmptyCells);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_table_layout, mTable->mLayout);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2033,7 +2137,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_page_break_after, mBreaks->mPageBreakAfter);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_page_break_before, mBreaks->mPageBreakBefore);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_page_break_inside, mBreaks->mPageBreakInside);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2049,7 +2153,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_marks, mPage->mMarks);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_size_width, mPage->mSizeWidth);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_size_height, mPage->mSizeHeight);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2097,7 +2201,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_ENSURE_IMPORTANT(Content) {
|
||||
switch (aProperty) {
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_marker_offset, mContent->mMarkerOffset);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2115,6 +2219,40 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
}
|
||||
break;
|
||||
|
||||
// nsCSSUserInterface
|
||||
case eCSSProperty_user_input:
|
||||
case eCSSProperty_modify_content:
|
||||
case eCSSProperty_selection_style:
|
||||
case eCSSProperty_auto_select:
|
||||
case eCSSProperty_auto_tab:
|
||||
case eCSSProperty_resizer:
|
||||
if (nsnull != mUserInterface) {
|
||||
CSS_ENSURE_IMPORTANT(UserInterface) {
|
||||
switch (aProperty) {
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_user_input, mUserInterface->mUserInput);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_modify_content, mUserInterface->mModifyContent);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_selection_style, mUserInterface->mSelectionStyle);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_auto_select, mUserInterface->mAutoSelect);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_auto_tab, mUserInterface->mAutoTab);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_resizer, mUserInterface->mResizer);
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case eCSSProperty_key_equivalent:
|
||||
if (nsnull != mUserInterface) {
|
||||
if (nsnull != mUserInterface->mKeyEquivalent) {
|
||||
CSS_ENSURE_IMPORTANT(UserInterface) {
|
||||
CSS_IF_DELETE(mImportant->mUserInterface->mKeyEquivalent);
|
||||
mImportant->mUserInterface->mKeyEquivalent = mUserInterface->mKeyEquivalent;
|
||||
mUserInterface->mKeyEquivalent = nsnull;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
// nsCSSAural
|
||||
case eCSSProperty_azimuth:
|
||||
case eCSSProperty_elevation:
|
||||
@ -2153,7 +2291,7 @@ CSSDeclarationImpl::SetValueImportant(nsCSSProperty aProperty)
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_stress, mAural->mStress);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_voice_family, mAural->mVoiceFamily);
|
||||
CSS_CASE_IMPORTANT(eCSSProperty_volume, mAural->mVolume);
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2336,7 +2474,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_font_size: aValue = mFont->mSize; break;
|
||||
case eCSSProperty_font_size_adjust: aValue = mFont->mSizeAdjust; break;
|
||||
case eCSSProperty_font_stretch: aValue = mFont->mStretch; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2369,7 +2507,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
}
|
||||
break;
|
||||
case eCSSProperty_opacity: aValue = mColor->mOpacity; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2400,7 +2538,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_unicode_bidi: aValue = mText->mUnicodeBidi; break;
|
||||
case eCSSProperty_line_height: aValue = mText->mLineHeight; break;
|
||||
case eCSSProperty_white_space: aValue = mText->mWhiteSpace; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2418,7 +2556,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_text_shadow_x: aValue = mText->mTextShadow->mXOffset; break;
|
||||
case eCSSProperty_text_shadow_y: aValue = mText->mTextShadow->mYOffset; break;
|
||||
case eCSSProperty_text_shadow_radius: aValue = mText->mTextShadow->mRadius; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -2438,7 +2576,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_direction: aValue = mDisplay->mDirection; break;
|
||||
case eCSSProperty_visibility: aValue = mDisplay->mVisibility; break;
|
||||
case eCSSProperty_overflow: aValue = mDisplay->mOverflow; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2456,8 +2594,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_clip_right: aValue = mDisplay->mClip->mRight; break;
|
||||
case eCSSProperty_clip_bottom: aValue = mDisplay->mClip->mBottom; break;
|
||||
case eCSSProperty_clip_left: aValue = mDisplay->mClip->mLeft; break;
|
||||
default:
|
||||
break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2476,7 +2613,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_margin_right: aValue = mMargin->mMargin->mRight; break;
|
||||
case eCSSProperty_margin_bottom: aValue = mMargin->mMargin->mBottom; break;
|
||||
case eCSSProperty_margin_left: aValue = mMargin->mMargin->mLeft; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2494,7 +2631,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_padding_right: aValue = mMargin->mPadding->mRight; break;
|
||||
case eCSSProperty_padding_bottom: aValue = mMargin->mPadding->mBottom; break;
|
||||
case eCSSProperty_padding_left: aValue = mMargin->mPadding->mLeft; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2512,7 +2649,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_border_right_width: aValue = mMargin->mBorderWidth->mRight; break;
|
||||
case eCSSProperty_border_bottom_width: aValue = mMargin->mBorderWidth->mBottom; break;
|
||||
case eCSSProperty_border_left_width: aValue = mMargin->mBorderWidth->mLeft; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2530,7 +2667,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_border_right_color: aValue = mMargin->mBorderColor->mRight; break;
|
||||
case eCSSProperty_border_bottom_color: aValue = mMargin->mBorderColor->mBottom; break;
|
||||
case eCSSProperty_border_left_color: aValue = mMargin->mBorderColor->mLeft; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2548,7 +2685,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_border_right_style: aValue = mMargin->mBorderStyle->mRight; break;
|
||||
case eCSSProperty_border_bottom_style: aValue = mMargin->mBorderStyle->mBottom; break;
|
||||
case eCSSProperty_border_left_style: aValue = mMargin->mBorderStyle->mLeft; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2560,13 +2697,15 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_outline_width:
|
||||
case eCSSProperty_outline_color:
|
||||
case eCSSProperty_outline_style:
|
||||
case eCSSProperty_float_edge:
|
||||
if (nsnull != mMargin) {
|
||||
switch (aProperty) {
|
||||
case eCSSProperty__moz_border_radius: aValue = mMargin->mBorderRadius; break;
|
||||
case eCSSProperty_outline_width: aValue = mMargin->mOutlineWidth; break;
|
||||
case eCSSProperty_outline_color: aValue = mMargin->mOutlineColor; break;
|
||||
case eCSSProperty_outline_style: aValue = mMargin->mOutlineStyle; break;
|
||||
default: break;
|
||||
case eCSSProperty_float_edge: aValue = mMargin->mFloatEdge; break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2582,6 +2721,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_height:
|
||||
case eCSSProperty_min_height:
|
||||
case eCSSProperty_max_height:
|
||||
case eCSSProperty_box_sizing:
|
||||
case eCSSProperty_z_index:
|
||||
if (nsnull != mPosition) {
|
||||
switch (aProperty) {
|
||||
@ -2592,8 +2732,9 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_height: aValue = mPosition->mHeight; break;
|
||||
case eCSSProperty_min_height: aValue = mPosition->mMinHeight; break;
|
||||
case eCSSProperty_max_height: aValue = mPosition->mMaxHeight; break;
|
||||
case eCSSProperty_box_sizing: aValue = mPosition->mBoxSizing; break;
|
||||
case eCSSProperty_z_index: aValue = mPosition->mZIndex; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2611,7 +2752,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_right: aValue = mPosition->mOffset->mRight; break;
|
||||
case eCSSProperty_bottom: aValue = mPosition->mOffset->mBottom; break;
|
||||
case eCSSProperty_left: aValue = mPosition->mOffset->mLeft; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2628,7 +2769,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_list_style_type: aValue = mList->mType; break;
|
||||
case eCSSProperty_list_style_image: aValue = mList->mImage; break;
|
||||
case eCSSProperty_list_style_position: aValue = mList->mPosition; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2651,7 +2792,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_caption_side: aValue = mTable->mCaptionSide; break;
|
||||
case eCSSProperty_empty_cells: aValue = mTable->mEmptyCells; break;
|
||||
case eCSSProperty_table_layout: aValue = mTable->mLayout; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2674,7 +2815,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_page_break_after: aValue = mBreaks->mPageBreakAfter; break;
|
||||
case eCSSProperty_page_break_before: aValue = mBreaks->mPageBreakBefore; break;
|
||||
case eCSSProperty_page_break_inside: aValue = mBreaks->mPageBreakInside; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2691,7 +2832,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_marks: aValue = mPage->mMarks; break;
|
||||
case eCSSProperty_size_width: aValue = mPage->mSizeWidth; break;
|
||||
case eCSSProperty_size_height: aValue = mPage->mSizeHeight; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2734,8 +2875,36 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
aValue = mContent->mQuotes->mClose;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
aValue.Reset();
|
||||
}
|
||||
break;
|
||||
|
||||
// nsCSSUserInterface
|
||||
case eCSSProperty_user_input:
|
||||
case eCSSProperty_modify_content:
|
||||
case eCSSProperty_selection_style:
|
||||
case eCSSProperty_auto_select:
|
||||
case eCSSProperty_key_equivalent:
|
||||
case eCSSProperty_auto_tab:
|
||||
case eCSSProperty_resizer:
|
||||
if (nsnull != mUserInterface) {
|
||||
switch (aProperty) {
|
||||
case eCSSProperty_user_input: aValue = mUserInterface->mUserInput; break;
|
||||
case eCSSProperty_modify_content: aValue = mUserInterface->mModifyContent; break;
|
||||
case eCSSProperty_selection_style: aValue = mUserInterface->mSelectionStyle; break;
|
||||
case eCSSProperty_auto_select: aValue = mUserInterface->mAutoSelect; break;
|
||||
case eCSSProperty_key_equivalent:
|
||||
if (nsnull != mUserInterface->mKeyEquivalent) {
|
||||
aValue = mUserInterface->mKeyEquivalent->mValue;
|
||||
}
|
||||
break;
|
||||
case eCSSProperty_auto_tab: aValue = mUserInterface->mAutoTab; break;
|
||||
case eCSSProperty_resizer: aValue = mUserInterface->mResizer; break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -2784,7 +2953,7 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
|
||||
case eCSSProperty_stress: aValue = mAural->mStress; break;
|
||||
case eCSSProperty_voice_family: aValue = mAural->mVoiceFamily; break;
|
||||
case eCSSProperty_volume: aValue = mAural->mVolume; break;
|
||||
default: break;
|
||||
CSS_BOGUS_DEFAULT; // make compiler happy
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -3256,6 +3425,18 @@ CSSDeclarationImpl::GetValue(nsCSSProperty aProperty, nsString& aValue)
|
||||
} while (nsnull != quotes);
|
||||
}
|
||||
break;
|
||||
case eCSSProperty_key_equivalent:
|
||||
if ((nsnull != mUserInterface) && (nsnull != mUserInterface->mKeyEquivalent)) {
|
||||
nsCSSValueList* keyEquiv = mUserInterface->mKeyEquivalent;
|
||||
do {
|
||||
AppendValueToString(eCSSProperty_key_equivalent, keyEquiv->mValue, aValue);
|
||||
keyEquiv = keyEquiv->mNext;
|
||||
if (nsnull != keyEquiv) {
|
||||
aValue.Append(' ');
|
||||
}
|
||||
} while (nsnull != keyEquiv);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
AppendValueToString(aProperty, aValue);
|
||||
break;
|
||||
@ -3375,6 +3556,9 @@ void CSSDeclarationImpl::List(FILE* out, PRInt32 aIndent) const
|
||||
if (nsnull != mContent) {
|
||||
mContent->List(out);
|
||||
}
|
||||
if (nsnull != mUserInterface) {
|
||||
mUserInterface->List(out);
|
||||
}
|
||||
if (nsnull != mAural) {
|
||||
mAural->List(out);
|
||||
}
|
||||
|
||||
@ -63,6 +63,7 @@ static NS_DEFINE_IID(kCSSListSID, NS_CSS_LIST_SID);
|
||||
static NS_DEFINE_IID(kCSSDisplaySID, NS_CSS_DISPLAY_SID);
|
||||
static NS_DEFINE_IID(kCSSTableSID, NS_CSS_TABLE_SID);
|
||||
static NS_DEFINE_IID(kCSSContentSID, NS_CSS_CONTENT_SID);
|
||||
static NS_DEFINE_IID(kCSSUserInterfaceSID, NS_CSS_USER_INTERFACE_SID);
|
||||
|
||||
// -- nsCSSSelector -------------------------------
|
||||
|
||||
@ -1921,6 +1922,14 @@ void MapDeclarationInto(nsICSSDeclaration* aDeclaration,
|
||||
else if (eCSSUnit_Inherit == ourMargin->mOutlineStyle.GetUnit()) {
|
||||
spacing->SetOutlineStyle(parentSpacing->GetOutlineStyle());
|
||||
}
|
||||
|
||||
// float-edge: enum, inherit
|
||||
if (eCSSUnit_Enumerated == ourMargin->mFloatEdge.GetUnit()) {
|
||||
spacing->mFloatEdge = ourMargin->mFloatEdge.GetIntValue();
|
||||
}
|
||||
else if (eCSSUnit_Inherit == ourMargin->mFloatEdge.GetUnit()) {
|
||||
spacing->mFloatEdge = parentSpacing->mFloatEdge;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1975,6 +1984,14 @@ void MapDeclarationInto(nsICSSDeclaration* aDeclaration,
|
||||
}
|
||||
}
|
||||
|
||||
// box-sizing: enum, inherit
|
||||
if (eCSSUnit_Enumerated == ourPosition->mBoxSizing.GetUnit()) {
|
||||
position->mBoxSizing = ourPosition->mBoxSizing.GetIntValue();
|
||||
}
|
||||
else if (eCSSUnit_Inherit == ourPosition->mBoxSizing.GetUnit()) {
|
||||
position->mBoxSizing = parentPosition->mBoxSizing;
|
||||
}
|
||||
|
||||
// z-index
|
||||
SetCoord(ourPosition->mZIndex, position->mZIndex, SETCOORD_IAH, font->mFont, nsnull);
|
||||
}
|
||||
@ -2289,6 +2306,106 @@ void MapDeclarationInto(nsICSSDeclaration* aDeclaration,
|
||||
}
|
||||
}
|
||||
|
||||
nsCSSUserInterface* ourUI;
|
||||
if (NS_OK == aDeclaration->GetData(kCSSUserInterfaceSID, (nsCSSStruct**)&ourUI)) {
|
||||
if (nsnull != ourUI) {
|
||||
// Get our user interface style and our parent's user interface style
|
||||
nsStyleUserInterface* ui = (nsStyleUserInterface*) aContext->GetMutableStyleData(eStyleStruct_UserInterface);
|
||||
const nsStyleUserInterface* parentUI = ui;
|
||||
if (nsnull != parentContext) {
|
||||
parentUI = (const nsStyleUserInterface*)parentContext->GetStyleData(eStyleStruct_UserInterface);
|
||||
}
|
||||
|
||||
// user-input: auto, none, enum, inherit
|
||||
if (eCSSUnit_Enumerated == ourUI->mUserInput.GetUnit()) {
|
||||
ui->mUserInput = ourUI->mUserInput.GetIntValue();
|
||||
}
|
||||
else if (eCSSUnit_Auto == ourUI->mUserInput.GetUnit()) {
|
||||
ui->mUserInput = NS_STYLE_USER_INPUT_AUTO;
|
||||
}
|
||||
else if (eCSSUnit_None == ourUI->mUserInput.GetUnit()) {
|
||||
ui->mUserInput = NS_STYLE_USER_INPUT_NONE;
|
||||
}
|
||||
else if (eCSSUnit_Inherit == ourUI->mUserInput.GetUnit()) {
|
||||
ui->mUserInput = parentUI->mUserInput;
|
||||
}
|
||||
|
||||
// modify-content: enum, inherit
|
||||
if (eCSSUnit_Enumerated == ourUI->mModifyContent.GetUnit()) {
|
||||
ui->mModifyContent = ourUI->mModifyContent.GetIntValue();
|
||||
}
|
||||
else if (eCSSUnit_Inherit == ourUI->mModifyContent.GetUnit()) {
|
||||
ui->mModifyContent = parentUI->mModifyContent;
|
||||
}
|
||||
|
||||
// selection-style: none, enum, inherit
|
||||
if (eCSSUnit_Enumerated == ourUI->mSelectionStyle.GetUnit()) {
|
||||
ui->mSelectionStyle = ourUI->mSelectionStyle.GetIntValue();
|
||||
}
|
||||
else if (eCSSUnit_None == ourUI->mSelectionStyle.GetUnit()) {
|
||||
ui->mSelectionStyle = NS_STYLE_SELECTION_STYLE_NONE;
|
||||
}
|
||||
else if (eCSSUnit_Inherit == ourUI->mSelectionStyle.GetUnit()) {
|
||||
ui->mSelectionStyle = parentUI->mSelectionStyle;
|
||||
}
|
||||
|
||||
// auto-select: none, enum, inherit
|
||||
if (eCSSUnit_Enumerated == ourUI->mAutoSelect.GetUnit()) {
|
||||
ui->mAutoSelect = ourUI->mAutoSelect.GetIntValue();
|
||||
}
|
||||
else if (eCSSUnit_None == ourUI->mAutoSelect.GetUnit()) {
|
||||
ui->mAutoSelect = NS_STYLE_AUTO_SELECT_NONE;
|
||||
}
|
||||
else if (eCSSUnit_Inherit == ourUI->mAutoSelect.GetUnit()) {
|
||||
ui->mAutoSelect = parentUI->mAutoSelect;
|
||||
}
|
||||
|
||||
// key-equivalent: none, enum XXX, inherit
|
||||
nsCSSValueList* keyEquiv = ourUI->mKeyEquivalent;
|
||||
if (keyEquiv) {
|
||||
// XXX need to deal with multiple values
|
||||
if (eCSSUnit_Enumerated == keyEquiv->mValue.GetUnit()) {
|
||||
ui->mKeyEquivalent = PRUnichar(0); // XXX To be implemented
|
||||
}
|
||||
else if (eCSSUnit_None == keyEquiv->mValue.GetUnit()) {
|
||||
ui->mKeyEquivalent = PRUnichar(0);
|
||||
}
|
||||
else if (eCSSUnit_Inherit == keyEquiv->mValue.GetUnit()) {
|
||||
ui->mKeyEquivalent = parentUI->mKeyEquivalent;
|
||||
}
|
||||
}
|
||||
|
||||
// auto-tab: auto, none, enum, inherit
|
||||
if (eCSSUnit_Enumerated == ourUI->mAutoTab.GetUnit()) {
|
||||
ui->mAutoTab = ourUI->mAutoTab.GetIntValue();
|
||||
}
|
||||
else if (eCSSUnit_Auto == ourUI->mAutoTab.GetUnit()) {
|
||||
ui->mAutoTab = NS_STYLE_AUTO_TAB_AUTO;
|
||||
}
|
||||
else if (eCSSUnit_None == ourUI->mAutoTab.GetUnit()) {
|
||||
ui->mAutoTab = NS_STYLE_AUTO_TAB_NONE;
|
||||
}
|
||||
else if (eCSSUnit_Inherit == ourUI->mAutoTab.GetUnit()) {
|
||||
ui->mAutoTab = parentUI->mAutoTab;
|
||||
}
|
||||
|
||||
// resizer: auto, none, enum, inherit
|
||||
if (eCSSUnit_Enumerated == ourUI->mResizer.GetUnit()) {
|
||||
ui->mResizer = ourUI->mResizer.GetIntValue();
|
||||
}
|
||||
else if (eCSSUnit_Auto == ourUI->mResizer.GetUnit()) {
|
||||
ui->mResizer = NS_STYLE_RESIZER_AUTO;
|
||||
}
|
||||
else if (eCSSUnit_None == ourUI->mResizer.GetUnit()) {
|
||||
ui->mResizer = NS_STYLE_RESIZER_NONE;
|
||||
}
|
||||
else if (eCSSUnit_Inherit == ourUI->mResizer.GetUnit()) {
|
||||
ui->mResizer = parentUI->mResizer;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
NS_IF_RELEASE(parentContext);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user