| Index: Source/core/dom/Element.cpp
|
| diff --git a/Source/core/dom/Element.cpp b/Source/core/dom/Element.cpp
|
| index 4d361113e4fa9b9249b67d87c85b5c6477805ac0..c2db12d8bc29a05037ba8dc3090e5c7f3f18da23 100644
|
| --- a/Source/core/dom/Element.cpp
|
| +++ b/Source/core/dom/Element.cpp
|
| @@ -1754,8 +1754,13 @@ ElementShadow& Element::ensureShadow()
|
|
|
| void Element::pseudoStateChanged(CSSSelector::PseudoType pseudo)
|
| {
|
| + // We can't schedule invaliation sets from inside style recalc otherwise
|
| + // we'd never process them.
|
| + // TODO(esprehn): Make this an ASSERT and fix places that call into this
|
| + // like HTMLSelectElement.
|
| + if (document().inStyleRecalc())
|
| + return;
|
| StyleResolver* styleResolver = document().styleResolver();
|
| -
|
| if (inActiveDocument() && styleResolver && styleChangeType() < SubtreeStyleChange)
|
| document().styleEngine().pseudoStateChangedForElement(pseudo, *this);
|
| }
|
|
|