Chromium Code Reviews| Index: third_party/WebKit/Source/core/dom/ContainerNode.cpp |
| diff --git a/third_party/WebKit/Source/core/dom/ContainerNode.cpp b/third_party/WebKit/Source/core/dom/ContainerNode.cpp |
| index c84626d91ccac8d02a52fa3d09eb7c94405555da..8275994bef0b7ad81c39ad4c8a291eb0873a85ef 100644 |
| --- a/third_party/WebKit/Source/core/dom/ContainerNode.cpp |
| +++ b/third_party/WebKit/Source/core/dom/ContainerNode.cpp |
| @@ -1026,17 +1026,20 @@ void ContainerNode::setActive(bool down) |
| Node::setActive(down); |
| - // FIXME: Why does this not need to handle the display: none transition like :hover does? |
| - if (layoutObject()) { |
| - if (computedStyle()->affectedByActive()) { |
| - StyleChangeType changeType = computedStyle()->hasPseudoStyle(PseudoIdFirstLetter) ? SubtreeStyleChange : LocalStyleChange; |
| - setNeedsStyleRecalc(changeType, StyleChangeReasonForTracing::createWithExtraData(StyleChangeReason::PseudoClass, StyleChangeExtraData::Active)); |
| - } |
| + if (!layoutObject()) { |
| if (isElementNode() && toElement(this)->childrenOrSiblingsAffectedByActive()) |
| toElement(this)->pseudoStateChanged(CSSSelector::PseudoActive); |
|
rune
2016/06/24 12:28:51
The setHovered() method has an else here where it
ramya.v
2016/06/27 06:28:01
The else case is required in setHovered method, wi
|
| + return; |
| + } |
| - LayoutTheme::theme().controlStateChanged(*layoutObject(), PressedControlState); |
| + if (computedStyle()->affectedByActive()) { |
| + StyleChangeType changeType = computedStyle()->hasPseudoStyle(PseudoIdFirstLetter) ? SubtreeStyleChange : LocalStyleChange; |
| + setNeedsStyleRecalc(changeType, StyleChangeReasonForTracing::createWithExtraData(StyleChangeReason::PseudoClass, StyleChangeExtraData::Active)); |
| } |
| + if (isElementNode() && toElement(this)->childrenOrSiblingsAffectedByActive()) |
| + toElement(this)->pseudoStateChanged(CSSSelector::PseudoActive); |
| + |
| + LayoutTheme::theme().controlStateChanged(*layoutObject(), PressedControlState); |
| } |
| void ContainerNode::setHovered(bool over) |