Bug 731521. Computed border on our descendants can change due to a change of our specified border styles even if our computed border did not change. r=dbaron

This commit is contained in:
Boris Zbarsky 2012-04-05 13:14:54 -04:00
parent d3d8ec52c3
commit 4beec41490
4 changed files with 12 additions and 1 deletions

View File

@ -0,0 +1,3 @@
<!DOCTYPE html>
<body style="border-style: solid;"></body>
</html>

View File

@ -0,0 +1,4 @@
<!DOCTYPE html>
<html style="border-width: 0px;">
<body style="border-style: inherit;" onload="document.documentElement.offsetHeight; document.documentElement.style.borderStyle='solid';"></body>
</html>

View File

@ -1695,5 +1695,6 @@ fuzzy-if(d2d,1,19) fuzzy-if(cocoaWidget,1,170) == 718521.html 718521-ref.html
== 722923-1.html 722923-1-ref.html
== 723484-1.html 723484-1-ref.html
== 729143-1.html 729143-1-ref.html
== 731521-1.html 731521-1-ref.html
needs-focus == 731726-1.html 731726-1-ref.html
== 735481-1.html 735481-1-ref.html

View File

@ -763,7 +763,10 @@ struct nsStyleBorder {
#ifdef DEBUG
static nsChangeHint MaxDifference();
#endif
static bool ForceCompare() { return false; }
// ForceCompare is true, because a change to our border-style might
// change border-width on descendants (requiring reflow of those)
// but not our own border-width (thus not requiring us to reflow).
static bool ForceCompare() { return true; }
void EnsureBorderColors() {
if (!mBorderColors) {