Index: Source/core/paint/FilterPainter.h |
diff --git a/Source/core/paint/FilterPainter.h b/Source/core/paint/FilterPainter.h |
index 7bcb140f44ca335eaa9d062410a5ad7091de2ac6..3af6ab56a0b6364344e489a33c00aa62dc065a4f 100644 |
--- a/Source/core/paint/FilterPainter.h |
+++ b/Source/core/paint/FilterPainter.h |
@@ -5,6 +5,7 @@ |
#ifndef FilterPainter_h |
#define FilterPainter_h |
+#include "core/paint/ViewDisplayList.h" |
#include "core/rendering/LayerPaintingInfo.h" |
#include "wtf/OwnPtr.h" |
@@ -16,6 +17,31 @@ class FloatRect; |
class GraphicsContext; |
class RenderLayer; |
+class BeginFilterDisplayItem : public DisplayItem { |
+public: |
+ BeginFilterDisplayItem(const RenderObject* renderer, Type type, PassRefPtr<ImageFilter> imageFilter, const LayoutRect& bounds) |
+ : DisplayItem(renderer, type), m_imageFilter(imageFilter), m_bounds(bounds) { } |
+ virtual void replay(GraphicsContext*) override; |
+ |
+#ifndef NDEBUG |
+ virtual WTF::String asDebugString() const override; |
+#endif |
+ |
+ RefPtr<ImageFilter> m_imageFilter; |
+ const LayoutRect m_bounds; |
+}; |
+ |
+class EndFilterDisplayItem : public DisplayItem { |
+public: |
+ EndFilterDisplayItem(const RenderObject* renderer) |
+ : DisplayItem(renderer, EndFilter) { } |
+ virtual void replay(GraphicsContext*) override; |
+ |
+#ifndef NDEBUG |
+ virtual WTF::String asDebugString() const override; |
+#endif |
+}; |
+ |
class FilterPainter { |
public: |
FilterPainter(RenderLayer&, GraphicsContext*, const LayoutPoint& offsetFromRoot, const ClipRect&, LayerPaintingInfo&, PaintLayerFlags paintFlags, LayoutRect& rootRelativeBounds, bool& rootRelativeBoundsComputed); |
@@ -25,6 +51,7 @@ private: |
bool m_filterInProgress; |
GraphicsContext* m_context; |
OwnPtr<ClipRecorder> m_clipRecorder; |
+ RenderObject* m_renderer; |
}; |
} // namespace blink |