Chromium Code Reviews| Index: Source/core/css/invalidation/StyleInvalidator.h |
| diff --git a/Source/core/css/invalidation/StyleInvalidator.h b/Source/core/css/invalidation/StyleInvalidator.h |
| index 77e60719b3d37201208b2128844faecb6e3e3a89..3219cfd334a171d885f9e28b457c9e4a01afb182 100644 |
| --- a/Source/core/css/invalidation/StyleInvalidator.h |
| +++ b/Source/core/css/invalidation/StyleInvalidator.h |
| @@ -5,16 +5,24 @@ |
| #ifndef StyleInvalidator_h |
| #define StyleInvalidator_h |
| -#include "core/css/RuleFeature.h" |
| #include "heap/Heap.h" |
| namespace WebCore { |
| +class DescendantInvalidationSet; |
| +class Document; |
| +class Element; |
| + |
| class StyleInvalidator { |
| - STACK_ALLOCATED(); |
| public: |
| - explicit StyleInvalidator(Document&); |
| - void invalidate(); |
| + explicit StyleInvalidator(); |
|
esprehn
2014/03/31 19:45:33
You don't need explicit since this doesn't take an
chrishtr
2014/03/31 20:07:37
Done.
|
| + void invalidate(Document&); |
| + void scheduleInvalidation(PassRefPtr<DescendantInvalidationSet>, Element&); |
| + |
| + // Clears all style invalidation state for the passed node. |
| + void clearInvalidation(Node&); |
| + |
| + void clearPendingInvalidations(); |
| private: |
| bool invalidate(Element&); |
| @@ -55,8 +63,12 @@ private: |
| RecursionData* m_data; |
| }; |
| - Document& m_document; |
| - RuleFeatureSet::PendingInvalidationMap& m_pendingInvalidationMap; |
| + typedef Vector<RefPtr<DescendantInvalidationSet> > InvalidationList; |
| + typedef HashMap<Element*, OwnPtr<InvalidationList> > PendingInvalidationMap; |
| + |
| + InvalidationList& ensurePendingInvalidationList(Element&); |
| + |
| + PendingInvalidationMap m_pendingInvalidationMap; |
| RecursionData m_recursionData; |
| }; |