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

Unified Diff: sky/engine/core/css/CSSStyleSheet.h

Issue 778743003: Merge StyleSheet into CSSStyleSheet. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: sort headers. Created 6 years 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 | « sky/engine/core/core.gni ('k') | sky/engine/core/css/CSSStyleSheet.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sky/engine/core/css/CSSStyleSheet.h
diff --git a/sky/engine/core/css/CSSStyleSheet.h b/sky/engine/core/css/CSSStyleSheet.h
index 7511226a353e5c41d2944495c25e82905e51dacc..6519f6e03acea5bbea28d34e2f8695735fe64e8d 100644
--- a/sky/engine/core/css/CSSStyleSheet.h
+++ b/sky/engine/core/css/CSSStyleSheet.h
@@ -21,9 +21,8 @@
#ifndef SKY_ENGINE_CORE_CSS_CSSSTYLESHEET_H_
#define SKY_ENGINE_CORE_CSS_CSSSTYLESHEET_H_
-#include "sky/engine/core/css/StyleSheet.h"
-#include "sky/engine/platform/heap/Handle.h"
#include "sky/engine/wtf/Noncopyable.h"
+#include "sky/engine/wtf/RefCounted.h"
#include "sky/engine/wtf/text/TextPosition.h"
namespace blink {
@@ -32,7 +31,9 @@ class BisonCSSParser;
class CSSStyleSheet;
class Document;
class ExceptionState;
+class KURL;
class MediaQuerySet;
+class Node;
class StyleSheetContents;
enum StyleSheetUpdateType {
@@ -40,76 +41,46 @@ enum StyleSheetUpdateType {
EntireStyleSheetUpdate
};
-class CSSStyleSheet final : public StyleSheet {
+class CSSStyleSheet final : public RefCounted<CSSStyleSheet> {
public:
static PassRefPtr<CSSStyleSheet> createInline(Node*, const KURL&, const TextPosition& startPosition = TextPosition::minimumPosition());
static PassRefPtr<CSSStyleSheet> createInline(PassRefPtr<StyleSheetContents>, Node* ownerNode, const TextPosition& startPosition = TextPosition::minimumPosition());
- virtual ~CSSStyleSheet();
+ ~CSSStyleSheet();
- virtual Node* ownerNode() const override { return m_ownerNode; }
+ Node* ownerNode() const { return m_ownerNode; }
unsigned length() const;
- virtual void clearOwnerNode() override;
+ void clearOwnerNode();
- virtual KURL baseURL() const override;
+ KURL baseURL() const;
Document* ownerDocument() const;
MediaQuerySet* mediaQueries() const { return m_mediaQueries.get(); }
void setMediaQueries(PassRefPtr<MediaQuerySet>);
- class RuleMutationScope {
- WTF_MAKE_NONCOPYABLE(RuleMutationScope);
- STACK_ALLOCATED();
- public:
- explicit RuleMutationScope(CSSStyleSheet*);
- ~RuleMutationScope();
-
- private:
- RawPtr<CSSStyleSheet> m_styleSheet;
- };
-
- void willMutateRules();
- void didMutateRules();
- void didMutate(StyleSheetUpdateType = PartialRuleUpdate);
-
StyleSheetContents* contents() const { return m_contents.get(); }
bool isInline() const { return m_isInlineStylesheet; }
TextPosition startPositionInSource() const { return m_startPosition; }
+ // TODO(esprehn): Remove this.
+ String type() const { return "text/css"; }
+
private:
CSSStyleSheet(PassRefPtr<StyleSheetContents>);
CSSStyleSheet(PassRefPtr<StyleSheetContents>, Node* ownerNode, bool isInlineStylesheet, const TextPosition& startPosition);
- virtual bool isCSSStyleSheet() const override { return true; }
- virtual String type() const override { return "text/css"; }
-
RefPtr<StyleSheetContents> m_contents;
bool m_isInlineStylesheet;
RefPtr<MediaQuerySet> m_mediaQueries;
- RawPtr<Node> m_ownerNode;
+ Node* m_ownerNode;
TextPosition m_startPosition;
};
-inline CSSStyleSheet::RuleMutationScope::RuleMutationScope(CSSStyleSheet* sheet)
- : m_styleSheet(sheet)
-{
- if (m_styleSheet)
- m_styleSheet->willMutateRules();
-}
-
-inline CSSStyleSheet::RuleMutationScope::~RuleMutationScope()
-{
- if (m_styleSheet)
- m_styleSheet->didMutateRules();
-}
-
-DEFINE_TYPE_CASTS(CSSStyleSheet, StyleSheet, sheet, sheet->isCSSStyleSheet(), sheet.isCSSStyleSheet());
-
} // namespace blink
#endif // SKY_ENGINE_CORE_CSS_CSSSTYLESHEET_H_
« no previous file with comments | « sky/engine/core/core.gni ('k') | sky/engine/core/css/CSSStyleSheet.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698