Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(573)

Unified Diff: Source/core/dom/DocumentStyleSheetCollector.h

Issue 143463011: [import] support document.stylesheets in imported documents. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Landing Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/core/dom/DocumentStyleSheetCollection.cpp ('k') | Source/core/dom/DocumentStyleSheetCollector.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/dom/DocumentStyleSheetCollector.h
diff --git a/Source/core/dom/DocumentStyleSheetCollector.h b/Source/core/dom/DocumentStyleSheetCollector.h
index e6b3c04094a88eba30501c0ce8d14b1e88b52f13..5e692aed4e1014fb09b9653afd75e471ea68e498 100644
--- a/Source/core/dom/DocumentStyleSheetCollector.h
+++ b/Source/core/dom/DocumentStyleSheetCollector.h
@@ -27,31 +27,39 @@
#ifndef DocumentStyleSheetCollector_h
#define DocumentStyleSheetCollector_h
-#include "core/dom/StyleSheetCollection.h"
-#include "wtf/HashSet.h"
+#include "wtf/RefPtr.h"
+#include "wtf/Vector.h"
namespace WebCore {
-class DocumentStyleSheetCollector FINAL {
+class CSSStyleSheet;
+class StyleSheetCollectionBase;
+class StyleSheet;
+
+class DocumentStyleSheetCollector {
public:
- DocumentStyleSheetCollector(TreeScope& root)
- : m_root(root)
- { }
+ friend class ImportedDocumentStyleSheetCollector;
- bool isCollectingForList(TreeScope&) const;
- void setCollectionTo(StyleSheetCollectionBase&);
+ DocumentStyleSheetCollector(Vector<RefPtr<StyleSheet> >& sheetsForList, Vector<RefPtr<CSSStyleSheet> >& activeList);
+ ~DocumentStyleSheetCollector();
- void appendActiveStyleSheets(const Vector<RefPtr<CSSStyleSheet> >& sheets) { m_collection.appendActiveStyleSheets(sheets); }
- void appendActiveStyleSheet(CSSStyleSheet* sheet) { m_collection.appendActiveStyleSheet(sheet); }
- void appendSheetForList(StyleSheet* sheet) { m_collection.appendSheetForList(sheet); }
- StyleSheetCollectionBase& collection() { return m_collection; }
- void markVisited(Document* document) { m_documentsVisited.add(document); }
- bool hasVisited(Document* document) const { return m_documentsVisited.contains(document); }
+ void appendActiveStyleSheets(const Vector<RefPtr<CSSStyleSheet> >&);
+ void appendActiveStyleSheet(CSSStyleSheet*);
+ void appendSheetForList(StyleSheet*);
private:
- TreeScope& m_root;
- StyleSheetCollectionBase m_collection;
- HashSet<Document*> m_documentsVisited;
+ Vector<RefPtr<StyleSheet> >& m_styleSheetsForStyleSheetList;
+ Vector<RefPtr<CSSStyleSheet> >& m_activeAuthorStyleSheets;
+};
+
+class ActiveDocumentStyleSheetCollector FINAL : public DocumentStyleSheetCollector {
+public:
+ ActiveDocumentStyleSheetCollector(StyleSheetCollectionBase&);
+};
+
+class ImportedDocumentStyleSheetCollector FINAL : public DocumentStyleSheetCollector {
+public:
+ ImportedDocumentStyleSheetCollector(DocumentStyleSheetCollector&, Vector<RefPtr<StyleSheet> >&);
};
} // namespace WebCore
« no previous file with comments | « Source/core/dom/DocumentStyleSheetCollection.cpp ('k') | Source/core/dom/DocumentStyleSheetCollector.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698