Only override font properties when in quirks mode. (Bug 403524) r=dbaron

Font tags cause NS_STYLE_TEXT_DECORATION_LINE_OVERRIDE_ALL in quirks
mode only, so that standards mode (in which font tags don't cause the
override) can use the same codepath in the near future.
This commit is contained in:
Vitor Menezes 2011-08-03 11:30:58 -07:00
Родитель e915e08a19
Коммит 831d354974
6 изменённых файлов: 27 добавлений и 1 удалений

Просмотреть файл

@ -239,7 +239,8 @@ MapAttributesIntoRule(const nsMappedAttributes* aAttributes,
}
}
}
if (aData->mSIDs & NS_STYLE_INHERIT_BIT(TextReset)) {
if (aData->mSIDs & NS_STYLE_INHERIT_BIT(TextReset) &&
aData->mPresContext->CompatibilityMode() == eCompatibility_NavQuirks) {
// Make <a><font color="red">text</font></a> give the text a red underline
// in quirks mode. The NS_STYLE_TEXT_DECORATION_LINE_OVERRIDE_ALL flag only
// affects quirks mode rendering.

Просмотреть файл

@ -0,0 +1,5 @@
<html>
<body>
<u>hello</u><img src="http://www.mozilla.org/images/livemarks16.png"><font color="purple"><u>hello</u></font>
</body>
</html>

Просмотреть файл

@ -0,0 +1,5 @@
<html>
<body>
<u>hello<img src="http://www.mozilla.org/images/livemarks16.png"><font color="purple">hello</font></u>
</body>
</html>

Просмотреть файл

@ -0,0 +1,6 @@
<!DOCTYPE HTML>
<html>
<body>
<u>hello<img src="http://www.mozilla.org/images/livemarks16.png"><span style="color: purple;">hello</span></u>
</body>
</html>

Просмотреть файл

@ -0,0 +1,6 @@
<!DOCTYPE HTML>
<html>
<body>
<u>hello<img src="http://www.mozilla.org/images/livemarks16.png"><font color="purple">hello</font></u>
</body>
</html>

Просмотреть файл

@ -90,4 +90,7 @@ fails == text-decoration-zorder-1-quirks.html text-decoration-zorder-1-ref.html
fails == text-decoration-propagation-1-standards.html text-decoration-propagation-1-standards-ref.html
== 641444-1.html 641444-1-ref.html
== decoration-css21.html decoration-css21-ref.html # bug 403524
== decoration-color-override-quirks.html decoration-color-override-quirks-ref.html
== decoration-color-override-standards.html decoration-color-override-standards-ref.html
!= decoration-color-override-standards-ref.html decoration-color-override-quirks-ref.html
== decoration-css21-block.html decoration-css21-block-ref.html # bug 403524