Chromium Code Reviews| Index: Source/core/css/invalidation/InvalidationSet.cpp |
| diff --git a/Source/core/css/invalidation/InvalidationSet.cpp b/Source/core/css/invalidation/InvalidationSet.cpp |
| index 617e9b974e5a946d7dfabd2307c2c5c4e39b0b1e..426f23ddc02181a3eb06057a55c4c0a3d578b618 100644 |
| --- a/Source/core/css/invalidation/InvalidationSet.cpp |
| +++ b/Source/core/css/invalidation/InvalidationSet.cpp |
| @@ -52,7 +52,8 @@ void InvalidationSet::cacheTracingFlag() |
| } |
| InvalidationSet::InvalidationSet() |
| - : m_allDescendantsMightBeInvalid(false) |
| + : m_appliesDirectly(false) |
| + , m_allDescendantsMightBeInvalid(false) |
| , m_customPseudoInvalid(false) |
| , m_treeBoundaryCrossing(false) |
| , m_insertionPointCrossing(false) |
| @@ -98,6 +99,9 @@ bool InvalidationSet::invalidatesElement(Element& element) const |
| void InvalidationSet::combine(const InvalidationSet& other) |
| { |
| + if (other.appliesDirectly()) |
| + setAppliesDirectly(); |
|
rune
2015/09/16 08:44:32
The existing code did an early return on wholeSubt
Eric Willigers
2015/09/16 13:32:08
Moved. The original positioning, and the original
|
| + |
| // No longer bother combining data structures, since the whole subtree is deemed invalid. |
| if (wholeSubtreeInvalid()) |
| return; |