| Index: Source/core/dom/Element.cpp
|
| diff --git a/Source/core/dom/Element.cpp b/Source/core/dom/Element.cpp
|
| index d46c3733e5e6d7cae08c11b749ad60b93d48d4e9..41728e49b6bd6b0d788e8ce01e7e2b43cc4e8618 100644
|
| --- a/Source/core/dom/Element.cpp
|
| +++ b/Source/core/dom/Element.cpp
|
| @@ -1503,9 +1503,20 @@ void Element::detach(const AttachContext& context)
|
|
|
| ContainerNode::detach(context);
|
|
|
| - ASSERT(needsAttach());
|
| + if (!context.performingReattach && isUserActionElement()) {
|
| + if (hovered())
|
| + document().hoveredNodeDetached(*this);
|
| + if (inActiveChain())
|
| + document().activeChainNodeDetached(*this);
|
| + document().userActionElements().didDetach(*this);
|
| + }
|
| +
|
| + document().styleEngine().styleInvalidator().clearInvalidation(*this);
|
| +
|
| if (svgFilterNeedsLayerUpdate())
|
| document().unscheduleSVGFilterLayerUpdateHack(*this);
|
| +
|
| + ASSERT(needsAttach());
|
| }
|
|
|
| bool Element::pseudoStyleCacheIsInvalid(const ComputedStyle* currentStyle, ComputedStyle* newStyle)
|
|
|