Bug 14777 - Give inline background image painting a rhyme and reason to how it works. Implement CSS3 proposal (-moz-)background-inline-policy.

r+sr=roc+moz


git-svn-id: svn://10.0.0.236/trunk@136499 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
caillon%returnzero.com
2003-01-17 09:33:52 +00:00
parent 575ae9bc6f
commit 4e9b13ef00
41 changed files with 607 additions and 132 deletions

View File

@@ -168,7 +168,9 @@ nsCSSColor::nsCSSColor(const nsCSSColor& aCopy)
mBackPositionX(aCopy.mBackPositionX),
mBackPositionY(aCopy.mBackPositionY),
mBackClip(aCopy.mBackClip),
mBackOrigin(aCopy.mBackOrigin)
mBackOrigin(aCopy.mBackOrigin),
mBackInlinePolicy(aCopy.mBackInlinePolicy)
{
MOZ_COUNT_CTOR(nsCSSColor);
}
@@ -199,6 +201,7 @@ void nsCSSColor::List(FILE* out, PRInt32 aIndent) const
mBackPositionY.AppendToString(buffer, eCSSProperty_background_y_position);
mBackClip.AppendToString(buffer, eCSSProperty__moz_background_clip);
mBackOrigin.AppendToString(buffer, eCSSProperty__moz_background_origin);
mBackInlinePolicy.AppendToString(buffer, eCSSProperty__moz_background_inline_policy);
fputs(NS_LossyConvertUCS2toASCII(buffer).get(), out);
}
#endif
@@ -1476,7 +1479,8 @@ nsCSSDeclaration::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValue)
case eCSSProperty_background_x_position:
case eCSSProperty_background_y_position:
case eCSSProperty__moz_background_clip:
case eCSSProperty__moz_background_origin: {
case eCSSProperty__moz_background_origin:
case eCSSProperty__moz_background_inline_policy: {
CSS_ENSURE(Color) {
switch (aProperty) {
case eCSSProperty_color: theColor->mColor = aValue; break;
@@ -1488,6 +1492,7 @@ nsCSSDeclaration::AppendValue(nsCSSProperty aProperty, const nsCSSValue& aValue)
case eCSSProperty_background_y_position: theColor->mBackPositionY = aValue; break;
case eCSSProperty__moz_background_clip: theColor->mBackClip = aValue; break;
case eCSSProperty__moz_background_origin: theColor->mBackOrigin = aValue; break;
case eCSSProperty__moz_background_inline_policy: theColor->mBackInlinePolicy = aValue; break;
CSS_BOGUS_DEFAULT; // make compiler happy
}
}
@@ -2319,7 +2324,8 @@ nsCSSDeclaration::SetValueImportant(nsCSSProperty aProperty)
case eCSSProperty_background_x_position:
case eCSSProperty_background_y_position:
case eCSSProperty__moz_background_clip:
case eCSSProperty__moz_background_origin: {
case eCSSProperty__moz_background_origin:
case eCSSProperty__moz_background_inline_policy: {
CSS_VARONSTACK_GET(Color);
if (nsnull != theColor) {
CSS_ENSURE_IMPORTANT(Color) {
@@ -2333,6 +2339,7 @@ nsCSSDeclaration::SetValueImportant(nsCSSProperty aProperty)
CSS_CASE_IMPORTANT(eCSSProperty_background_y_position, Color, mBackPositionY);
CSS_CASE_IMPORTANT(eCSSProperty__moz_background_clip, Color, mBackClip);
CSS_CASE_IMPORTANT(eCSSProperty__moz_background_origin, Color, mBackOrigin);
CSS_CASE_IMPORTANT(eCSSProperty__moz_background_inline_policy, Color, mBackInlinePolicy);
CSS_BOGUS_DEFAULT; // make compiler happy
}
}
@@ -3285,7 +3292,8 @@ nsCSSDeclaration::RemoveProperty(nsCSSProperty aProperty)
case eCSSProperty_background_x_position:
case eCSSProperty_background_y_position:
case eCSSProperty__moz_background_clip:
case eCSSProperty__moz_background_origin: {
case eCSSProperty__moz_background_origin:
case eCSSProperty__moz_background_inline_policy: {
CSS_CHECK(Color) {
switch (aProperty) {
case eCSSProperty_color: theColor->mColor.Reset(); break;
@@ -3297,6 +3305,7 @@ nsCSSDeclaration::RemoveProperty(nsCSSProperty aProperty)
case eCSSProperty_background_y_position: theColor->mBackPositionY.Reset(); break;
case eCSSProperty__moz_background_clip: theColor->mBackClip.Reset(); break;
case eCSSProperty__moz_background_origin: theColor->mBackOrigin.Reset(); break;
case eCSSProperty__moz_background_inline_policy: theColor->mBackInlinePolicy.Reset(); break;
CSS_BOGUS_DEFAULT; // make compiler happy
}
}
@@ -4117,7 +4126,8 @@ nsCSSDeclaration::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
case eCSSProperty_background_x_position:
case eCSSProperty_background_y_position:
case eCSSProperty__moz_background_clip:
case eCSSProperty__moz_background_origin: {
case eCSSProperty__moz_background_origin:
case eCSSProperty__moz_background_inline_policy: {
CSS_VARONSTACK_GET(Color);
if (nsnull != theColor) {
switch (aProperty) {
@@ -4130,6 +4140,7 @@ nsCSSDeclaration::GetValue(nsCSSProperty aProperty, nsCSSValue& aValue)
case eCSSProperty_background_y_position: aValue = theColor->mBackPositionY; break;
case eCSSProperty__moz_background_clip: aValue = theColor->mBackClip; break;
case eCSSProperty__moz_background_origin: aValue = theColor->mBackOrigin; break;
case eCSSProperty__moz_background_inline_policy: aValue = theColor->mBackInlinePolicy; break;
CSS_BOGUS_DEFAULT; // make compiler happy
}
}