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

Unified Diff: Source/core/css/CSSPropertySourceData.h

Issue 216553004: [Oilpan]: Move CSSPropertySourceData, InspectorStyleProperty, CSSStyleSourceData, and CSSRuleSource… (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebase + plugin finds Created 6 years, 9 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 | « no previous file | Source/core/css/CSSPropertySourceData.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/css/CSSPropertySourceData.h
diff --git a/Source/core/css/CSSPropertySourceData.h b/Source/core/css/CSSPropertySourceData.h
index b5d51e21312990709ae308a4fa310391221f640b..a4c1ca80f509f7b03508b08acc840af7222800a5 100644
--- a/Source/core/css/CSSPropertySourceData.h
+++ b/Source/core/css/CSSPropertySourceData.h
@@ -31,6 +31,7 @@
#ifndef CSSPropertySourceData_h
#define CSSPropertySourceData_h
+#include "heap/Handle.h"
#include "wtf/Forward.h"
#include "wtf/RefCounted.h"
#include "wtf/Vector.h"
@@ -41,17 +42,21 @@ namespace WebCore {
class StyleRuleBase;
struct SourceRange {
+ ALLOW_ONLY_INLINE_ALLOCATION();
+public:
SourceRange();
SourceRange(unsigned start, unsigned end);
unsigned length() const;
+ void trace(Visitor*) { }
+
unsigned start;
unsigned end;
};
struct CSSPropertySourceData {
- static void init();
-
+ ALLOW_ONLY_INLINE_ALLOCATION();
+public:
CSSPropertySourceData(const String& name, const String& value, bool important, bool disabled, bool parsedOk, const SourceRange& range);
CSSPropertySourceData(const CSSPropertySourceData& other);
CSSPropertySourceData();
@@ -59,6 +64,8 @@ struct CSSPropertySourceData {
String toString() const;
unsigned hash() const;
+ void trace(Visitor* visitor) { visitor->trace(range); }
+
String name;
String value;
bool important;
@@ -67,24 +74,22 @@ struct CSSPropertySourceData {
SourceRange range;
};
-#ifndef CSSPROPERTYSOURCEDATA_HIDE_GLOBALS
-extern const CSSPropertySourceData emptyCSSPropertySourceData;
-#endif
-
-struct CSSStyleSourceData : public RefCounted<CSSStyleSourceData> {
- static PassRefPtr<CSSStyleSourceData> create()
+struct CSSStyleSourceData : public RefCountedWillBeGarbageCollected<CSSStyleSourceData> {
+ static PassRefPtrWillBeRawPtr<CSSStyleSourceData> create()
{
- return adoptRef(new CSSStyleSourceData());
+ return adoptRefWillBeNoop(new CSSStyleSourceData());
}
- Vector<CSSPropertySourceData> propertyData;
+ void trace(Visitor* visitor) { visitor->trace(propertyData); }
+
+ WillBeHeapVector<CSSPropertySourceData> propertyData;
};
struct CSSRuleSourceData;
-typedef Vector<RefPtr<CSSRuleSourceData> > RuleSourceDataList;
-typedef Vector<SourceRange> SelectorRangeList;
+typedef WillBeHeapVector<RefPtrWillBeMember<CSSRuleSourceData> > RuleSourceDataList;
+typedef WillBeHeapVector<SourceRange> SelectorRangeList;
-struct CSSRuleSourceData : public RefCounted<CSSRuleSourceData> {
+struct CSSRuleSourceData : public RefCountedWillBeGarbageCollected<CSSRuleSourceData> {
enum Type {
UNKNOWN_RULE,
STYLE_RULE,
@@ -99,14 +104,14 @@ struct CSSRuleSourceData : public RefCounted<CSSRuleSourceData> {
FILTER_RULE
};
- static PassRefPtr<CSSRuleSourceData> create(Type type)
+ static PassRefPtrWillBeRawPtr<CSSRuleSourceData> create(Type type)
{
- return adoptRef(new CSSRuleSourceData(type));
+ return adoptRefWillBeNoop(new CSSRuleSourceData(type));
}
- static PassRefPtr<CSSRuleSourceData> createUnknown()
+ static PassRefPtrWillBeRawPtr<CSSRuleSourceData> createUnknown()
{
- return adoptRef(new CSSRuleSourceData(UNKNOWN_RULE));
+ return adoptRefWillBeNoop(new CSSRuleSourceData(UNKNOWN_RULE));
}
CSSRuleSourceData(Type type)
@@ -116,6 +121,8 @@ struct CSSRuleSourceData : public RefCounted<CSSRuleSourceData> {
styleSourceData = CSSStyleSourceData::create();
}
+ void trace(Visitor*);
+
Type type;
// Range of the selector list in the enclosing source.
@@ -128,7 +135,7 @@ struct CSSRuleSourceData : public RefCounted<CSSRuleSourceData> {
SelectorRangeList selectorRanges;
// Only for CSSStyleRules, CSSFontFaceRules, and CSSPageRules.
- RefPtr<CSSStyleSourceData> styleSourceData;
+ RefPtrWillBeMember<CSSStyleSourceData> styleSourceData;
// Only for CSSMediaRules.
RuleSourceDataList childRules;
@@ -136,4 +143,18 @@ struct CSSRuleSourceData : public RefCounted<CSSRuleSourceData> {
} // namespace WebCore
+namespace WTF {
+
+template <> struct VectorTraits<WebCore::SourceRange> : VectorTraitsBase<WebCore::SourceRange> {
+ static const bool canInitializeWithMemset = true;
+ static const bool canMoveWithMemcpy = true;
+};
+
+template <> struct VectorTraits<WebCore::CSSPropertySourceData> : VectorTraitsBase<WebCore::CSSPropertySourceData> {
+ static const bool canInitializeWithMemset = true;
+ static const bool canMoveWithMemcpy = true;
+};
+
+}
+
#endif // CSSPropertySourceData_h
« no previous file with comments | « no previous file | Source/core/css/CSSPropertySourceData.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698