OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
4 * (C) 2001 Peter Kelly (pmk@post.com) | 4 * (C) 2001 Peter Kelly (pmk@post.com) |
5 * (C) 2001 Dirk Mueller (mueller@kde.org) | 5 * (C) 2001 Dirk Mueller (mueller@kde.org) |
6 * (C) 2007 David Smith (catfish.man@gmail.com) | 6 * (C) 2007 David Smith (catfish.man@gmail.com) |
7 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012, 2013 Apple Inc.
All rights reserved. | 7 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012, 2013 Apple Inc.
All rights reserved. |
8 * (C) 2007 Eric Seidel (eric@webkit.org) | 8 * (C) 2007 Eric Seidel (eric@webkit.org) |
9 * | 9 * |
10 * This library is free software; you can redistribute it and/or | 10 * This library is free software; you can redistribute it and/or |
(...skipping 1586 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1597 ElementShadow* Element::shadow() const | 1597 ElementShadow* Element::shadow() const |
1598 { | 1598 { |
1599 return hasRareData() ? elementRareData()->shadow() : 0; | 1599 return hasRareData() ? elementRareData()->shadow() : 0; |
1600 } | 1600 } |
1601 | 1601 |
1602 ElementShadow& Element::ensureShadow() | 1602 ElementShadow& Element::ensureShadow() |
1603 { | 1603 { |
1604 return ensureElementRareData().ensureShadow(); | 1604 return ensureElementRareData().ensureShadow(); |
1605 } | 1605 } |
1606 | 1606 |
1607 void Element::didAffectSelector(AffectedSelectorMask mask) | 1607 void Element::pseudoStateChanged(CSSSelector::PseudoType pseudo) |
1608 { | 1608 { |
1609 setNeedsStyleRecalc(SubtreeStyleChange); | 1609 StyleResolver* styleResolver = document().styleResolver(); |
| 1610 |
| 1611 if (inActiveDocument() && styleResolver && styleChangeType() < SubtreeStyleC
hange) |
| 1612 styleResolver->ensureUpdatedRuleFeatureSet().scheduleStyleInvalidationFo
rPseudoChange(pseudo, *this); |
| 1613 |
1610 if (ElementShadow* elementShadow = shadowWhereNodeCanBeDistributed(*this)) | 1614 if (ElementShadow* elementShadow = shadowWhereNodeCanBeDistributed(*this)) |
1611 elementShadow->didAffectSelector(mask); | 1615 elementShadow->distributedNodePseudoStateChanged(pseudo); |
1612 } | 1616 } |
1613 | 1617 |
1614 void Element::setAnimationStyleChange(bool animationStyleChange) | 1618 void Element::setAnimationStyleChange(bool animationStyleChange) |
1615 { | 1619 { |
1616 if (animationStyleChange && document().inStyleRecalc()) | 1620 if (animationStyleChange && document().inStyleRecalc()) |
1617 return; | 1621 return; |
1618 if (ActiveAnimations* activeAnimations = elementRareData()->activeAnimations
()) | 1622 if (ActiveAnimations* activeAnimations = elementRareData()->activeAnimations
()) |
1619 activeAnimations->setAnimationStyleChange(animationStyleChange); | 1623 activeAnimations->setAnimationStyleChange(animationStyleChange); |
1620 } | 1624 } |
1621 | 1625 |
(...skipping 1645 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3267 return v8::Handle<v8::Object>(); | 3271 return v8::Handle<v8::Object>(); |
3268 | 3272 |
3269 wrapper->SetPrototype(binding->prototype()); | 3273 wrapper->SetPrototype(binding->prototype()); |
3270 | 3274 |
3271 wrapperType->refObject(toScriptWrappableBase()); | 3275 wrapperType->refObject(toScriptWrappableBase()); |
3272 V8DOMWrapper::associateObjectWithWrapperNonTemplate(this, wrapperType, wrapp
er, isolate); | 3276 V8DOMWrapper::associateObjectWithWrapperNonTemplate(this, wrapperType, wrapp
er, isolate); |
3273 return wrapper; | 3277 return wrapper; |
3274 } | 3278 } |
3275 | 3279 |
3276 } // namespace blink | 3280 } // namespace blink |
OLD | NEW |