#include "wtf/OwnPtr.h"
#include "wtf/PassOwnPtr.h"
-namespace WebCore {
+namespace blink {
class Document;
class RenderObject;
OwnPtr<ContentData> m_next;
};
+#define DEFINE_CONTENT_DATA_TYPE_CASTS(typeName) \
+ DEFINE_TYPE_CASTS(typeName##ContentData, ContentData, content, content->is##typeName(), content.is##typeName())
+
class ImageContentData FINAL : public ContentData {
friend class ContentData;
public:
RefPtr<StyleImage> m_image;
};
+DEFINE_CONTENT_DATA_TYPE_CASTS(Image);
+
class TextContentData FINAL : public ContentData {
friend class ContentData;
public:
String m_text;
};
+DEFINE_CONTENT_DATA_TYPE_CASTS(Text);
+
class CounterContentData FINAL : public ContentData {
friend class ContentData;
public:
OwnPtr<CounterContent> m_counter;
};
+DEFINE_CONTENT_DATA_TYPE_CASTS(Counter);
+
class QuoteContentData FINAL : public ContentData {
friend class ContentData;
public:
QuoteType m_quote;
};
+DEFINE_CONTENT_DATA_TYPE_CASTS(Quote);
+
inline bool operator==(const ContentData& a, const ContentData& b)
{
return a.equals(b);
return !(a == b);
}
-} // namespace WebCore
+} // namespace blink
#endif // ContentData_h