From 2e1458579028bf92647a3cbccae44cbf027487c1 Mon Sep 17 00:00:00 2001 From: Boris Zbarsky Date: Wed, 2 Jun 2010 22:25:02 -0400 Subject: [PATCH] Bug 567944. Work around inefficiency in handling eRestyle_LaterSiblings for now. r=dbaron --- layout/base/nsCSSFrameConstructor.cpp | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/layout/base/nsCSSFrameConstructor.cpp b/layout/base/nsCSSFrameConstructor.cpp index 69f775908b49..38591ac30009 100644 --- a/layout/base/nsCSSFrameConstructor.cpp +++ b/layout/base/nsCSSFrameConstructor.cpp @@ -11410,14 +11410,11 @@ static void RestyleSiblingsStartingWith(nsCSSFrameConstructor *aFrameConstructor, nsIContent *aStartingSibling /* may be null */) { - for (nsIContent *sibling = aStartingSibling; sibling; - sibling = sibling->GetNextSibling()) { - if (sibling->IsElement()) { - aFrameConstructor-> - PostRestyleEvent(sibling->AsElement(), - nsRestyleHint(eRestyle_Self | eRestyle_LaterSiblings), - NS_STYLE_HINT_NONE); - break; + if (aStartingSibling) { + nsIContent* parent = aStartingSibling->GetParent(); + if (parent && parent->IsElement()) { + aFrameConstructor->PostRestyleEvent(parent->AsElement(), eRestyle_Self, + NS_STYLE_HINT_NONE); } } }