| Index: Source/core/dom/ContainerNode.cpp
|
| diff --git a/Source/core/dom/ContainerNode.cpp b/Source/core/dom/ContainerNode.cpp
|
| index f815d00ca673edfd37b2cbcca3cec3c000e6e0f6..b3b98063d8af013cbb5537545bd0056c2dc67df2 100644
|
| --- a/Source/core/dom/ContainerNode.cpp
|
| +++ b/Source/core/dom/ContainerNode.cpp
|
| @@ -808,7 +808,7 @@ void ContainerNode::focusStateChanged()
|
| // FIXME: This could probably setNeedsStyleRecalc(LocalStyleChange) in the affectedByFocus case
|
| // and only setNeedsStyleRecalc(SubtreeStyleChange) in the childrenAffectedByFocus case.
|
| if (renderStyle()->affectedByFocus() || (isElementNode() && toElement(this)->childrenAffectedByFocus()))
|
| - setNeedsStyleRecalc();
|
| + setNeedsStyleRecalc(SubtreeStyleChange);
|
| if (renderer() && renderer()->style()->hasAppearance())
|
| RenderTheme::theme().stateChanged(renderer(), FocusState);
|
| }
|
| @@ -823,7 +823,7 @@ void ContainerNode::setFocus(bool received)
|
| focusStateChanged();
|
| // If :focus sets display: none, we lose focus but still need to recalc our style.
|
| if (!renderer() && !received)
|
| - setNeedsStyleRecalc();
|
| + setNeedsStyleRecalc(SubtreeStyleChange);
|
| }
|
|
|
| void ContainerNode::setActive(bool down)
|
| @@ -836,7 +836,7 @@ void ContainerNode::setActive(bool down)
|
| // FIXME: Why does this not need to handle the display: none transition like :hover does?
|
| if (renderer()) {
|
| if (renderStyle()->affectedByActive() || (isElementNode() && toElement(this)->childrenAffectedByActive()))
|
| - setNeedsStyleRecalc();
|
| + setNeedsStyleRecalc(SubtreeStyleChange);
|
| if (renderStyle()->hasAppearance())
|
| RenderTheme::theme().stateChanged(renderer(), PressedState);
|
| }
|
| @@ -852,13 +852,13 @@ void ContainerNode::setHovered(bool over)
|
| // If :hover sets display: none we lose our hover but still need to recalc our style.
|
| if (!renderer()) {
|
| if (!over)
|
| - setNeedsStyleRecalc();
|
| + setNeedsStyleRecalc(SubtreeStyleChange);
|
| return;
|
| }
|
|
|
| if (renderer()) {
|
| if (renderStyle()->affectedByHover() || (isElementNode() && toElement(this)->childrenAffectedByHover()))
|
| - setNeedsStyleRecalc();
|
| + setNeedsStyleRecalc(SubtreeStyleChange);
|
| if (renderer() && renderer()->style()->hasAppearance())
|
| RenderTheme::theme().stateChanged(renderer(), HoverState);
|
| }
|
|
|