| 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..84878fd3a8075f1d41022b3524cb5044a9534b77 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();
|
| + StyleInvalidator();
|
| + 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;
|
| };
|
|
|
|
|