| Index: Source/core/dom/DocumentStyleSheetCollector.h
|
| diff --git a/Source/core/dom/DocumentStyleSheetCollector.h b/Source/core/dom/DocumentStyleSheetCollector.h
|
| index fef627c12157e94481e0525bd185ad5b5661dabc..fd1ab1bc7382263c317cd1f8e9aecefb456096a2 100644
|
| --- a/Source/core/dom/DocumentStyleSheetCollector.h
|
| +++ b/Source/core/dom/DocumentStyleSheetCollector.h
|
| @@ -27,12 +27,14 @@
|
| #ifndef DocumentStyleSheetCollector_h
|
| #define DocumentStyleSheetCollector_h
|
|
|
| +#include "wtf/HashSet.h"
|
| #include "wtf/RefPtr.h"
|
| #include "wtf/Vector.h"
|
|
|
| namespace WebCore {
|
|
|
| class CSSStyleSheet;
|
| +class Document;
|
| class StyleSheet;
|
| class StyleSheetCollection;
|
|
|
| @@ -40,21 +42,27 @@ class DocumentStyleSheetCollector {
|
| public:
|
| friend class ImportedDocumentStyleSheetCollector;
|
|
|
| - DocumentStyleSheetCollector(Vector<RefPtr<StyleSheet> >& sheetsForList, Vector<RefPtr<CSSStyleSheet> >& activeList);
|
| + DocumentStyleSheetCollector(Vector<RefPtr<StyleSheet> >& sheetsForList, Vector<RefPtr<CSSStyleSheet> >& activeList, HashSet<Document*>&);
|
| ~DocumentStyleSheetCollector();
|
|
|
| void appendActiveStyleSheets(const Vector<RefPtr<CSSStyleSheet> >&);
|
| void appendActiveStyleSheet(CSSStyleSheet*);
|
| void appendSheetForList(StyleSheet*);
|
|
|
| + bool hasVisited(Document* document) const { return m_visitedDocuments.contains(document); }
|
| + void willVisit(Document* document) { m_visitedDocuments.add(document); }
|
| +
|
| private:
|
| Vector<RefPtr<StyleSheet> >& m_styleSheetsForStyleSheetList;
|
| Vector<RefPtr<CSSStyleSheet> >& m_activeAuthorStyleSheets;
|
| + HashSet<Document*>& m_visitedDocuments;
|
| };
|
|
|
| class ActiveDocumentStyleSheetCollector FINAL : public DocumentStyleSheetCollector {
|
| public:
|
| ActiveDocumentStyleSheetCollector(StyleSheetCollection&);
|
| +private:
|
| + HashSet<Document*> m_visitedDocuments;
|
| };
|
|
|
| class ImportedDocumentStyleSheetCollector FINAL : public DocumentStyleSheetCollector {
|
|
|